我在我的模型:
[Display(Name = "Check to enter <break> the Quantity of items")]
public bool IsLimitedQuantity { get; set; }
而我使用
@Html.LabelFor(shop => shop.IsLimitedQuantity)
在我看来。
请建议我怎么能解决这个问题,因为标签只是显示<突破>,因为它是不是突破到一个新的生产线。
我在我的模型:
[Display(Name = "Check to enter <break> the Quantity of items")]
public bool IsLimitedQuantity { get; set; }
而我使用
@Html.LabelFor(shop => shop.IsLimitedQuantity)
在我看来。
请建议我怎么能解决这个问题,因为标签只是显示<突破>,因为它是不是突破到一个新的生产线。
你可以写一个自定义的LabelFor
帮手不HTML编码的文本一样的标准LabelFor
帮手:
public static class LabelExtensions
{
public static IHtmlString UnencodedLabelFor<TModel, TProperty>(this HtmlHelper<TModel> html, Expression<Func<TModel, TProperty>> expression)
{
var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
var htmlFieldName = ExpressionHelper.GetExpressionText(expression);
var text = (metadata.DisplayName ?? (metadata.PropertyName ?? htmlFieldName.Split(new char[] { '.' }).Last<string>()));
if (string.IsNullOrEmpty(text))
{
return MvcHtmlString.Empty;
}
var tagBuilder = new TagBuilder("label");
tagBuilder.Attributes.Add("for", TagBuilder.CreateSanitizedId(html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(htmlFieldName)));
tagBuilder.InnerHtml = text;
return new HtmlString(tagBuilder.ToString(TagRenderMode.Normal));
}
}
然后用在视图中这个自定义帮助:
@Html.UnencodedLabelFor(x => x.IsLimitedQuantity)
现在,在显示名称的HTML标签将不经过编码而呈现:
[Display(Name = "Check to enter <br/> the Quantity of items")]
public bool IsLimitedQuantity { get; set; }
使用HTML解码可能有所帮助。 MVC出于安全原因编码所有值。
如何显示从ASP.NET MVC视图存储在数据库中的HTML?