如何将HTML属性添加到R​​azor HtmlHelper?

时间:2014-05-09 09:43:06

标签: c# asp.net-mvc razor

我有一些关于Razor语法的一般性问题,我一直在我正在研究的项目中找到...

使用的主要助手之一是:@Html.InputFor

然后他们插入一些Lambda例如:@Html.InputFor(_ => _.User)

我的问题是,我如何使用这个助手(我无法通过谷歌搜索找到任何细节),即添加自定义CSS类等属性?

我应该使用更好的助手吗? (我是Razor的新手)

4 个答案:

答案 0 :(得分:14)

我认为你的意思是@Html.TextBoxFor。该扩展方法可以在InputExtensions类中找到。

如何将属性附加到它?使用htmlAttributes属性:

@Html.TextBoxFor(x => x.User, htmlAttributes : new { @class = "cssclass" } )

答案 1 :(得分:1)

它可以是应用于HtmlHelper对象的自定义扩展方法。只需在静态类中查看项目。

link对您非常有帮助

答案 2 :(得分:0)

我可能错了,但我认为InputFor不是标准的MVC助手。通常你会使用Html.EditorFor()并定义一个编辑器模板,或者说一个字符串输入Html.TextBoxFor()你可以传递html属性

e.g。 Html.TextBoxFor(m => m.User, new { @class="form-control" })

@class是必需的,因为类是c#关键字

答案 3 :(得分:0)

HtmlHelper类用于在页面上创建常见的html控件。没有InputFor扩展方法。

Ex:下面将为model.Name属性创建文本框。

@Html.TextBoxFor(model => model.Name)

有关详细信息,请参阅MSDN