如何在MudTable的MudLink中基于行绑定数据生成Href?
解决MudTable中MudLink基于行数据生成Href的问题
你遇到的问题是因为在MudLink的Href属性字符串中,@context.Id没有被Blazor编译器正确解析为行上下文的表达式。可以通过以下方式修正:
修正后的代码示例
使用字符串插值包裹表达式,让编译器正确识别行上下文变量:
<MudTable Items="@TicketList" > <RowTemplate> <MudTd DataLabel="Subject"> <MudLink Href="@($"/ticket/Edit/{context.Id}")">@context.Subject</MudLink> </MudTd> </RowTemplate> </MudTable>
原理说明
在Blazor中,若要在HTML属性里使用组件上下文(比如RowTemplate中的context)的表达式,必须通过@()或字符串插值的方式显式告知编译器:这是需要执行的C#表达式,而非普通字符串内容。直接在属性字符串中写@context.Id会被编译器当作普通文本处理,从而出现“当前上下文中不存在名称‘context’”的错误。
内容的提问来源于stack exchange,提问作者SvdSinner
相关产品推荐
相关产品推荐

