我如何添加HTML属性到Razor HtmlHelper

本文关键字:属性 HTML Razor HtmlHelper 添加 何添加 | 更新日期: 2023-09-27 18:02:27

我有一个关于Razor语法的一般性问题,我在一个项目中不断发现…

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

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

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

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

我如何添加HTML属性到Razor HtmlHelper

我想你指的是@Html.TextBoxFor。该扩展方法可以在InputExtensions类中找到。

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

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

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

这个链接对你很有帮助

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

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

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

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

示例:下面将创建model.Name属性的文本框。

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