我的表单以Html.BeginForm()
辅助方法开头:
@using (Html.BeginForm(
null,null, new { @id = "MaintenanceForm", @class = "datatable", @nonvalidate="nonvalidate" }
))
,表单呈现为:
<form action="(controller's name)/(current action's name)/MaintenanceForm?class=datatable" method="post">
未分配id,class和nonvalidate
等属性。另外我不想要默认的Http方法。我该怎么办?
答案 0 :(得分:1)
您当前的代码与BeginForm方法的下方重载匹配
public static MvcForm BeginForm(
this HtmlHelper htmlHelper,
string actionName,
string controllerName,
object routeValues
)
此处的第三个参数是路径值的对象。这些将作为查询字符串键值添加到表单的action
属性值中。这就是你将这些大网址视为动作属性值的原因。
如果要指定html属性( Id,class 等),请使用此重载,其中第四个参数采用html属性。第三个参数是FormMethod。
public static MvcForm BeginForm(
this HtmlHelper htmlHelper,
string actionName,
string controllerName,
FormMethod method,
object htmlAttributes
)
这应该有用。
@using (Html.BeginForm("Create", "Post",FormMethod.Post,
new { @id = "MaintenanceForm", @class = "datatable", @nonvalidate = "nonvalidate" }))
{
}
将Create
和Post
替换为您的操作方法名称和控制器名称。