Adr*_*ore 187 asp.net-mvc html-helper razor
例如@Html.ActionLink(),ASP.NET MVC可以使用HTML Helpers生成HTML元素,@Html.BeginForm()依此类推.
我知道我可以通过创建一个匿名对象来指定表单属性,并将该对象传递给(在本例中为第四个)htmlAttributes参数,其中id为元素指定一个:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})
Run Code Online (Sandbox Code Playgroud)
但class属性怎么样?显然这不起作用:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})
Run Code Online (Sandbox Code Playgroud)
因为在请求我的视图时,它只会抛出随机语法错误,因为它在遇到C#关键字后需要其他东西class.
我也尝试过:
new { _class = "myclass"}
Run Code Online (Sandbox Code Playgroud)
和
new { class_ = "myclass"}
Run Code Online (Sandbox Code Playgroud)
但它们也没有用,因为下划线被短划线取代.
我知道我也可以手工编写HTML元素或将表单包装在一个内部<div class="myClass">,但我仍然有兴趣知道它应该如何完成.
小智 349
为了创建一个匿名类型(或任何类型),其属性在C#中具有保留关键字作为其名称,您可以在属性名称前添加一个at符号,@:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { @class = "myclass"})
Run Code Online (Sandbox Code Playgroud)
对于VB.NET,这种语法将使用dot 来完成.,在该语言中,dot 是所有匿名类型的默认语法:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new with { .class = "myclass" })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
131647 次 |
| 最近记录: |