You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从ASP.NET Core MVC视图向Blazor组件传递数据?

从ASP.NET Core MVC视图向Blazor组件传递数据的正确实现

问题修正要点

你当前代码的核心问题是MVC视图向Blazor组件传递参数的语法错误,需要使用ASP.NET Core规定的参数绑定格式。

修正后的代码实现

MVC视图(.cshtml)

@{
    ViewData["Title"] = "Home Page";
    var data = "testData";
}
<component type="typeof(mvcTestBlazor.Components.Counter)" render-mode="Server" param-Data="@data" />

Blazor组件(Counter.razor)

<!-- 可选:添加显示逻辑验证数据接收状态 -->
<p>从MVC视图接收的数据:@Data</p>

@code {
    [Parameter]
    public string Data { get; set; }
}

关键说明

  • 在MVC视图的<component>标签中,必须通过param-{参数名}的格式传递Blazor组件参数,比如param-Data="@data",这样才能将视图中的data变量值绑定到组件的Data参数上。直接写Data="data"只会传递字符串字面量"data",而非变量值。
  • 确保项目已正确配置Blazor Server依赖:在Program.cs中添加builder.Services.AddServerSideBlazor();,并注册Blazor Hub:app.MapBlazorHub();。

内容的提问来源于stack exchange,提问作者Jalal Malekpour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 15:24:53