ASP.NET 视可产生HTML元件采用HTML佣工,例如 @Html.ActionLink(), @Html.BeginForm() 等等。

我知道我可以指定形式的属性,通过创建一个 匿名的对象 并通过,目的(第四,在这种情况下) htmlAttributes 参数在那里指定一个 id 对元素:

Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})

但是什么有关 class 属性?显然这并不是工作:

Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})

为的只是随机投掷的语法错误的时候我的观点是请求,因为它希望其他东西后遇到的C#关键字 class.

我也试过:

new { _class = "myclass"}

new { class_ = "myclass"}

但他们也没有工作,作为 强调获得替换破折号.

我知道,我可以只以及编写HTML元素通过手工或包装形式的内部 <div class="myClass">, 但我还是会有兴趣知道它是如何应该要做。

有帮助吗?

解决方案

为了创建一个匿名的类型(或者任何类型)与一个酒店有一个 保留关键字 正如其名称在C#你可以预先准备酒店名称与一个在签署, @:

Html.BeginForm("Foo", "Bar", FormMethod.Post, new { @class = "myclass"})

对于VB.NET 这将是语法 通过使用点, ., ,在这种语言是默认的语法 所有 匿名的类型:

Html.BeginForm("Foo", "Bar", FormMethod.Post, new with { .class = "myclass" })

其他提示

在CSS的发展目前最好的做法是与能够尽可能广泛地在整个网站上应用修饰符创建更广泛的选择。我想尽量避免限定用于各个页面元素单独的样式。

如果在<form/>元素的CSS类的目的是控制表单中元素的样式,你可以添加的类属性默认封装任何形式的由ASP.NET MVC生成的网页现有<fieldset/>元素。表单上的CSS类很少是必须的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top