如何在ASP.NET MVC视图的HTML中正确显示#符号
解决MVC视图Label显示“Account #”的问题
直接使用“Account #”导致视图加载出错,是因为Razor会对LabelFor的第二个参数自动进行HTML编码,而你误用了错误的转义字符(#不是#的正确HTML实体),才会显示成未解析的转义文本。以下是几种可行的解决方法:
方法一:使用正确的HTML实体
将#替换为对应的HTML实体#,Razor渲染时会自动解析为#:<td class="element-label">@Html.LabelFor(model => model.AccountNumber, "Account #")</td>方法二:使用MvcHtmlString跳过编码
通过MvcHtmlString.Create()包裹文本,告诉Razor不对内容进行HTML编码:<td class="element-label">@Html.LabelFor(model => model.AccountNumber, MvcHtmlString.Create("Account #"))</td>方法三:通过模型特性设置
在模型的AccountNumber属性上添加[Display]特性指定显示名称,视图中直接调用LabelFor即可:
模型代码:using System.ComponentModel.DataAnnotations; public class YourModel { [Display(Name = "Account #")] public string AccountNumber { get; set; } }视图代码:
<td class="element-label">@Html.LabelFor(model => model.AccountNumber)</td>
内容的提问来源于stack exchange,提问作者Faisal
相关产品推荐
相关产品推荐

