带有html属性的html.BeginForm asp.net mvc4

Ira*_*ili 21 c# razor asp.net-mvc-4

我有编辑动作Html.BeginForm.如何添加HTML属性?

我只知道一种方式:

@using (Html.BeginForm("Edit", "Clients", FormMethod.Post, new { @class="example"})) {

}
Run Code Online (Sandbox Code Playgroud)

但如果我使用这种方法,我无法传递当前的ID

是否可以在不修改操作URL的情况下将HTML属性添加到表单中?

Ros*_*Nab 38

您需要的覆盖是:

@using( Html.BeginForm("Edit", "Clients", new { Id=Model.Id},
                       FormMethod.Post, new { @class = "example" } ) )
{
}
Run Code Online (Sandbox Code Playgroud)
  • 像"id"这样的路由值作为第三个参数传递.
  • 像"class"这样的HTML属性作为第五个参数传递.

请参阅MSDN文档.


小智 13

Action和Controller参数也可以为null以使用默认操作:

Html.BeginForm( null, null, FormMethod.Post, new { id=”formname”, @class="formclass" })
Run Code Online (Sandbox Code Playgroud)