如何为所有Html.LabelFor分配类

时间:2013-12-27 00:59:27

标签: asp.net-mvc

我有一个应用程序,其中约有50个:

@Html.LabelFor(m => m.CurrentLineItem.Address.Address1, new { @class = "textBox-label" })

在我看来,硬编课并不是一个好主意。有没有办法进一步抽象出来?喜欢也许:

@Html.LabelWithTextBoxLabelClass(m=> m.CurrentLineItem.Address.Address1);

2 个答案:

答案 0 :(得分:2)

就像其他人说的那样,制作自己的Html Helper,代码如下:

public static class LabelExtensions
{
    public static MvcHtmlString LabelWithTextBoxLabelClass(this HtmlHelper helper, string expression)
    {
        return helper.Label(expression, new { @class = "textBox-label" });
    }

    public static MvcHtmlString LabelForWithTextBoxLabelClass<TModel,TValue>(this HtmlHelper<TModel> helper, Expression<Func<TModel,TValue>> expression)
    {
        return helper.LabelFor(expression, new {@class = "textBox-label"});
    }
}

现在你可以像你想要的那样使用它:

@Html.LabelWithTextBoxLabelClass(m=> m.CurrentLineItem.Address.Address1);

答案 1 :(得分:0)

您可以自己制作Html helpers,也可以Bootstrap Html Helpers使用MVC。请看这里:http://www.codeproject.com/Articles/570762/TwitterBootstrapMvc

使用bootstrap,你可以简单地设置你的标签类:

@Html.Bootstrap().LabelFor(m => m.Property).Class("textBox-label")