Razor Pages用于服务器端 Web 应用程序,就像过去一样。
Blazor旨在提供流行的 JavaScript 框架(如 Angular 或 React)的替代方案,以创建(主要)在客户端浏览器中运行的单页应用程序 (SPA)。
但是,我也听说过服务器端 Blazor,这让我很困惑。根据这个答案,服务器端 Blazor 只是在服务器上运行的 Razor 组件。但是 Razor Pages 和 Razor Components 之间有什么区别?
注意:我不是想弄清楚哪个更好或“正确的选择”。我只是想弄清楚存在哪些技术差异。
.razor我的文件和文件中出现“;预期”错误_razor.g.cs,
在以前的 Blazor 版本中,我在解决方案文件夹中找到这些g.cs文件,现在我在那里找不到它们,并且双击 VS 中的错误消息不会将我指向任何位置(错误消息没有行号,该行号为.g.cs有行号),我找不到问题。
_razor.g.cs 文件现在位于哪里?
我有一些存储在字符串中的HTML.如何渲染这是没有自动HTML编码的Blazor/Razor视图?
我正在尝试创建一个形状像这样的 blazor 导航菜单
项目a
项目b
当我点击项目 b 时,它会像这样扩展子菜单,然后点击子项目,打开新页面
项目a
项目b
分项1
分项2
我刚刚编辑了原始的 blazor 应用程序,但没有成功。按钮出现但不折叠子菜单。任何的想法?
<div class="@NavMenuCssClass" @onclick="@ToggleNavMenu">
<ul class="nav flex-column">
<li class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> Home
</NavLink>
</li>
<li class="nav-item px-3">
<NavLink class="nav-link" href="counter">
<span class="oi oi-plus" aria-hidden="true"></span> Counter
</NavLink>
</li>
<li class="nav-item px-3">
<NavLink class="nav-link" href="fetchdata">
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch Data
</NavLink>
</li>
<li class="dropdown">
<button data-toggle="collapse" data-target="#demo">Collapsible</button>
<div id="demo" class="collapse">
<ul>
<li class="nav-item px-3">
<NavLink class="nav-link" href="meeting">
<span class="oi oi-plus" …Run Code Online (Sandbox Code Playgroud) 在 Razor 语法中,要禁用特定页面的布局,我们可以这样做:
@{
Layout = null
}
Run Code Online (Sandbox Code Playgroud)
在 Blazor 中,它的约定由@layout. 但是,我看不到如何将其设置为空/禁用。我希望仅将其应用于index.razor页面。
如何在 Blazor 中实现这一点?
我安装了 Visual Studio 2019 16.6.2,以及 .NET Core 3.1.301 SDK 和所有必要的 Blazor 模板。
如果我创建了一个全新的 Blazor WebAssmbly 应用程序,我可以通过按Ctrl+从 Visual Studio 运行它F5,它会在我的活动浏览器窗口中打开一个新选项卡并正常启动。
但是当我按下 时F5,会打开一个新的、单独的浏览器窗口(这有点烦人),但页面会停留about:blank一段时间,直到 Visual Studio 中出现错误消息:
Failed to launch debug adapter. Additional information may be available in the output window.
Unable to launch browser:
"Could not open wss://localhost:5001/_framework/debug/ws-proxy?browser=wsAFFlocalhostA50821FdevtoolsFbrowserFceed3b95-58ac-470a-b10c-5d139cfd7117": timeout after 60000ms
Run Code Online (Sandbox Code Playgroud)
Blazor WebAssembly 应用程序是否“托管”并没有什么区别。
我已按照在 ASP.NET Core 中执行 HTTPS 中的步骤进行操作,但这并没有什么区别。
如果在等待about:blank窗口崩溃时,我在浏览器选项卡上手动打开客户端 url,应用程序将加载并命中调试器断点。在短短的一段时间之前,它不断的崩溃,如果我打Shift+ Alt+D我总是得到以下错误: …
visual-studio-debugging blazor visual-studio-2019 blazor-client-side blazor-webassembly
在我的 Blazor WebAssembly 客户端中,我有以下应用程序设置:
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
}
}
Run Code Online (Sandbox Code Playgroud)
那么,为什么在本地运行时,我的浏览器控制台仍然会出现无尽的问题呢?
info: System.Net.Http.HttpClient.MyNamedClientName.ClientHandler[101]
Received HTTP response headers after 190ms - 200 blazor.webassembly.js:1:9737
info: System.Net.Http.HttpClient.MyNamedClientName.LogicalHandler[101]
End processing HTTP request after 193ms - 200 blazor.webassembly.js:1:9737
info: System.Net.Http.HttpClient.MyNamedClientName.ClientHandler[101]
Received HTTP response headers after 267ms - 200 blazor.webassembly.js:1:9737
info: System.Net.Http.HttpClient.MyNamedClientName.LogicalHandler[101]
End processing HTTP request after 274ms - 200 blazor.webassembly.js:1:9737
info: System.Net.Http.HttpClient.MyNamedClientName.ClientHandler[101]
Received HTTP response headers after 316ms - 200 blazor.webassembly.js:1:9737
info: System.Net.Http.HttpClient.MyNamedClientName.LogicalHandler[101]
End processing HTTP request after 319ms - …Run Code Online (Sandbox Code Playgroud) 我最近阅读了 .NET MAUI,但我对其与 Blazor 的用途感到困惑。
您可以使用 .NET MAUI 和 blazor 开发一个面向 Web、ios、android 和 windows 的网页吗?
例如,有效地开发网页以在任何其他设备上也作为应用程序工作,但在浏览器中以正常的 Blazor 方式工作(即使用 WASM)?
在 asp.net Blazor 应用程序的 css 文件中,当我使用::deepVS 时,会发出警告“验证 (CSS 4.0):“::deep”不是有效的伪元素。” 对于常规 CSS 来说可能是这样,但在 Blazor 应用程序的上下文中则不然。
有办法抑制吗?Right-click -> Suppress -> In File / In Source没做什么。
如何将参数传递给 razor 组件?
到目前为止我试过
@(await Html.RenderComponentAsync<Rateplan>(RenderMode.ServerPrerendered, new { id= 100}))
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误
InvalidOperationException:不支持使用参数预呈现服务器组件。
我用 RenderMode.ServerPrerendered 尝试了同样的事情,但我收到一个错误
InvalidOperationException: 不支持带有参数的服务器组件。
我也试过做
<Rateplan Id="100"></Rateplan>
Run Code Online (Sandbox Code Playgroud)
但这甚至没有启动组件。