在正常的 Razor MVC 视图中使用 Blazor Wasm 但不是 SPA

Posted

技术标签:

【中文标题】在正常的 Razor MVC 视图中使用 Blazor Wasm 但不是 SPA【英文标题】:Use Blazor Wasm but not a SPA just within normal Razor MVC Views 【发布时间】:2021-05-08 12:46:56 【问题描述】:

我环顾了很长时间,但没有找到令人满意的结果。 我想在 .Net Core MVC 中使用普通的 Razor 页面。我之前使用 Angular 来丰富我的 UI 功能视图。我不需要 SPA,我只想使用 C# 代码进行 UI 修改。我可以以任何方式使用 Blazor 来使用 C# 代码而不是 javascript/Angular(等)进行客户端交互,并且仍然像普通 MVC 一样在服务器上呈现我的大部分视图吗?

提前致谢。

【问题讨论】:

【参考方案1】:

是的,你可以!

这是一个有据可查的场景。 Prerender and integrate ASP.NET Core Razor components

基本上你想做这样的事情:

@using BlazorHosted.Client.Pages

<h1>@ViewData["Title"]</h1>

<component type="typeof(Counter)" render-mode="WebAssemblyPrerendered" />

@section Scripts 
    <script src="_framework/blazor.webassembly.js"></script>

【讨论】:

感谢您的回复。我知道组件场景。但我希望在我的剃刀视图中的任何地方使用“onclick”、“如果这个使用那个类”等,而不创建组件。这有可能吗? 我不知道这一点,但这听起来像是 Blazor 背后的重点。可以在其中使用 c# 逻辑客户端的 razor 视图是 blazor (razor) 组件。 “.NET Core MVC”是必需的吗?您是否考虑过使用 Blazor-Server? 似乎我将转向 Blazor Server 方向,尽管我对幕后的恒定 SignalR 连接不太满意。感谢您的帮助。 没什么好担心的。我从 net core 3.1 开始在生产中使用 Blazor,它非常可靠,更不用说您将获得巨大的生产力提升。祝你好运!

以上是关于在正常的 Razor MVC 视图中使用 Blazor Wasm 但不是 SPA的主要内容,如果未能解决你的问题,请参考以下文章

Razor视图下使用iframe加载RDLC报表

如何在 Razor 页面中使用 MVC 部分视图和布局

使用 MVC5 C# 和 Razor 在局部视图中运行 javascript

在 MVC3 中登录 Razor 视图

MVC 3 Razor 视图:从布尔模型值生成 JavaScript

使用 javascript 重新加载 mvc/razor 部分视图