我不明白什么是渲染Blazor组件的正确方法。
我已经在一个C#ASP.NET核心web应用程序中安装了剃须刀服务器。我正试图使用渲染模式="来渲染组件;"服务器预渲染">或渲染模式="strong";服务器">
在这两种情况下,我都需要声明脚本_framework/blazor.server.js
-
如果我在所有其他脚本所在的主_Layout.cshtml上声明脚本,或者在body标记的末尾声明脚本,那么组件就死了:事件和函数不起作用,没有办法动态更改组件;我可以在控制台上看到,网络应用程序一启动,连接就建立了。因此,当我导航到我有组件的页面时,已经太晚了。
-
如果我只是在组件之后声明脚本,那么一切都可以。组件渲染良好,事件和函数工作良好。
所以现在我使用2。但通过这种方式,每次我需要在新页面上使用组件时,我都会一次又一次地声明脚本,因此每次连接都会被破坏和建立。
我认为这不是一个干净的解决方案。那么,渲染组件的正确方法是什么呢?
提前感谢您,并为糟糕的英语感到抱歉
从"BlazorApp";模板由Visual Studio的最新版本提供,您将其放在Pages/_Hosts.cshtml
:的末尾
<body>
<component type="typeof(App)" render-mode="ServerPrerendered" />
<div id="blazor-error-ui">
<environment include="Staging,Production">
An error has occurred. This application may no longer respond until reloaded.
</environment>
<environment include="Development">
An unhandled exception has occurred. See browser dev tools for details.
</environment>
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>
<script src="_framework/blazor.server.js"></script>
</body>