【问题标题】:Blazor Server component not rendering on ASP.NET MVC appBlazor 服务器组件未在 ASP.NET MVC 应用程序上呈现
【发布时间】:2021-01-28 04:23:02
【问题描述】:

我想在我的 ASP.NET MVC 应用程序中使用 Blazor 组件。 所以,我关注这样的文章:https://fizzylogic.nl/2019/08/18/integrating-blazor-in-an-existing-asp-net-core-application/

这种行为很奇怪,因为我的控制台中没有错误,并且我在OnInitializedAsync 中放置的断点被触发,但我从未到达OnAfterRenderAsync 中的断点...

我在BuildRenderTree & OnParametersSet 中设置了断点,它们都被触发了。我的参数设置正确,ShouldRender 方法返回 true。 我还在OnInitializedAsync 中添加了一个StateHasChanged(),但是我的组件仍然没有渲染。

为了测试,我将所有组件代码替换为,但仍然没有渲染...

【问题讨论】:

    标签: c# asp.net blazor blazor-server-side


    【解决方案1】:

    在 mvc razor 页面中使用新的渲染组件方式:

    <component type="typeof(Namespace.Pages.Component)" render-mode="ServerPrerendered" param-AnyParameter="parameterValue" />
    

    【讨论】:

    • 感谢您的回答。其实这个我也已经尝试过了,没有成功……
    • 你能分享你的其他设置吗?我在我的项目中完成了相同的过程,并且效果很好。
    • 我自己也做过同样的事情,我不明白为什么除了 AfterRenderAsync 之外我的所有组件的方法都被调用 ...
    • 这很奇怪,你有没有在一个空白的默认新项目中尝试过这个,如果可能的话在 github 上分享这个项目?
    • 弄清楚我是在头部而不是身体底部加载 Blazor 脚本。将它移动到身体底部后,我的组件渲染!
    【解决方案2】:

    我发现加载 blazor 服务器客户端 javascript 文件必须在文件底部完成。我将它加载到我的 HTML 中,这使得我的组件无法呈现。

    将它移动到我的剃刀视图的脚本部分使其工作!

    【讨论】:

      猜你喜欢
      • 2021-03-27
      • 1970-01-01
      • 2014-02-11
      • 2016-05-29
      • 2023-03-23
      • 2020-11-04
      • 2021-08-15
      • 1970-01-01
      • 2022-08-05
      相关资源
      最近更新 更多