我有一些关于Razor语法的一般性问题,我一直在我正在研究的项目中找到...
使用的主要助手之一是:@Html.InputFor
然后他们插入一些Lambda例如:@Html.InputFor(_ => _.User)
我的问题是,我如何使用这个助手(我无法通过谷歌搜索找到任何细节),即添加自定义CSS类等属性?
我应该使用更好的助手吗? (我是Razor的新手)
答案 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。