小编典典

如何向 MVC 的 HTML Helpers 生成的 HTML 元素添加类属性?

all

ASP.NET MVC 可以使用 HTML Helpers 生成 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"}

但它们也不起作用,因为下划线被 dashes取代

我知道我也可以手动编写 HTML 元素或将表单包装在 a<div class="myClass">中,但我仍然有兴趣知道它应该如何完成。


阅读 83

收藏
2022-07-28

共1个答案

小编典典

为了在 C# 中创建具有保留关键字作为其名称的属性的匿名类型(或任何类型),您可以在属性名称前加上 at
符号@

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

对于 VB.NET ,此语法将使用点来完成.,在该语言中,它是 所有
匿名类型
的默认语法:

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