ASP.NET MVC3 C#中html助手的html属性是什么?

时间:2011-04-01 08:32:21

标签: c# jquery asp.net-mvc html-helper html

在MVC中使用HtmlHelpers时,可以指定一组html属性作为字典对象。

我在网上阅读了很多关于创建HtmlHelpers的资料但是我已经专注于jQuery和其他ASP.NET的东西,我必须尽快开发一个应用程序,我没有时间来处理Html Helpers自定义

我知道MVC3已经提供了一些像@class这样的属性,但在微软网站上没有关于htmlattributes的信息。请您告诉我哪些属性可用,以及如何指定min C#?

我最感兴趣的是“禁用”,禁用特定控件和“id”,以更改控件的ID,因为HtmlHelpers默认使用相同的id和name值。我需要它与jQuery一起使用。

提前致谢

弗朗西斯

3 个答案:

答案 0 :(得分:6)

这些是简单的HTML属性,因此您可以使用您正在使用的DOCTYPE中的任何可用属性。 ASP.NET MVC助手只需获取这些属性并在生成的HTML页面中发出它们。因此,如果您需要文档,请查看HTML specification

关于包含破折号的HTML5 data-*属性,只有一点点评论。因为破折号不能在.NET中用作变量名,所以可以使用下划线,它将被转换为破折号。例如:

@Html.TextBoxFor(x => x.Foo, new { data_id = "bar" })

将呈现为:

<input type="text" name="Foo" id="Foo" value="some value" data-id="bar" />

答案 1 :(得分:1)

Html Attributes基本上只提供了一组值,这些值将作为创建的相应元素的属性写入

语法通常为new { @class="#myClass", @id="mySpecificID", @customAttrName="myvalue" }

可能会产生类似

的内容
<input type="text" name="MVCSuppliedName" value="" class="#myClass id="mySpecificID" customAttrName="myvalue" />

它们旨在提供一种在运行时向渲染标记添加属性的灵活方法。

答案 2 :(得分:0)

Html属性只是将在标记中呈现的键值对的集合。你可以使用你想要的任何东西。请考虑以下代码:

Html.ActionLink(
   "My Link", 
   "MyAction", 
   "MyController", 
   new { }, // Route values
   new { disabled = "disabled" } // Html Attributes
);

ActionLink有很多重载,但是object的{​​{1}}和routeValues的另一个对象。

您可以在htmlAttributes集合中使用的内容受限于HTML标准所说的内容。但是在大多数浏览器中,如果您愿意,可以添加自己的属性。