小编Rub*_*b3s的帖子

MVC 中的 Blazor:组件被渲染,但 @onclick 不起作用。连接问题

我正在尝试在 .net core 3 MVC 项目中使用 Blazor。我使用了一些教程来做到这一点,比如https://fizzylogic.nl/2019/08/18/integrating-blazor-in-an-existing-asp-net-core-application/https://chrissinty.com /using-blazor-components-in-an-existing-mvc-application/

工作原理:Blazor 组件的初始化工作正常。OnInitializedAsync() 函数被触发,组件渲染得很好。

这是来自 MVC 视图的调用:

@(await Html.RenderComponentAsync<MyProject.Components.Locations>(RenderMode.ServerPrerendered))
Run Code Online (Sandbox Code Playgroud)

什么不起作用:在 Blazor 组件中使用 @onclick。这是一些示例代码:

<span @onclick="AddLocation"></span>

@code {
    private void AddLocation(){

    }
}
Run Code Online (Sandbox Code Playgroud)

它可能不起作用的原因是我在连接初始化时出错。组件不是从基本路径渲染的,而是从特定视图的 url 渲染的,我认为这会影响连接。我在 Chrome 的控制台中收到这些错误:

  • [2019-12-02T09:26:08.117Z] 信息:将“_blazor”规范化为“ https://localhost:44375/Locations/_blazor ”。_blazor/negotiate:1 加载资源失败:服务器响应状态为 404 () blazor.server.js:1
  • [2019-12-02T09:26:08.155Z] 错误:无法完成与服务器的协商:错误 e.log @ blazor.server.js:1 blazor.server.js:1
  • [2019-12-02T09:26:08.156Z] 错误:无法启动连接:错误 e.log @ blazor.server.js:1 blazor.server.js:15
  • [2019-12-02T09:26:08.156Z] 错误:错误 e.log @ blazor.server.js:15 blazor.server.js:1 -Uncaught (in promise) 错误:如果连接不在,则无法发送数据“连接”状态。

主要的错误可能是'将'_blazor '标准化为' https://localhost:44375/Locations/_blazor ' '。从基本路径请求 _blazor 有效。有谁知道在这种情况下如何设置基本路径?

(是的,普通 Razor 页面环境中的 …

c# asp.net-mvc blazor blazor-server-side

9
推荐指数
1
解决办法
3812
查看次数

标签 统计

asp.net-mvc ×1

blazor ×1

blazor-server-side ×1

c# ×1