gpt4 book ai didi

DisplayAttribute 中的 HTML 标签

转载 作者:行者123 更新时间:2023-11-28 02:12:45 25 4
gpt4 key购买 nike

我希望显示名称包含一些 html 文本。

例如:

[Display(Name = "First Name <b class=\"red\">boldtext</b>)]
public string FirstName { get; set; }

但是在浏览器的屏幕上我看到:

First Name <b class="red">boldtext</b>

代替:

名字粗体

我能做些什么来让它与 Display 属性一起工作吗?

基本上我想在所有必需的属性之后显示红色 *,或者如果这种方式无法工作,是否有其他方法可以做得更好?

最佳答案

Display属性属于Model,所以应该是纯文本数据,没有任何格式。
如果你想给名字添加格式,你可以这样做
编写扩展方法以从显示名称中获取值

    public static MvcHtmlString DisplayNameFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression, string templateName)
{
Expression expressionBody = expression.Body;

if (expressionBody is MemberExpression)
{
MemberExpression memberExpression = (MemberExpression)expressionBody;
string propertyName = memberExpression.Member.Name;

return html.DisplayFor(expression, templateName, new { Message = html.ViewData.ModelMetadata.Properties.Single(p => p.PropertyName == propertyName).Name});
}
}

查看:

@Html.DisplayNameFor(model => model.FirstName, "_NameTemplate")

模板:_NameTemplate.cshtml

<span>@ViewData["Message"]</span>

希望对你有用

关于DisplayAttribute 中的 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212303/

25 4 0