Answers:
这应该添加ID。
ASP.NET MVC 5及更低版本:
<% using (Html.BeginForm(null, null, FormMethod.Post, new { id = "signupform" }))
{ } %>
ASP.NET Core:可以在表单中使用标记帮助程序,以避免设置id的语法奇怪。
<form asp-controller="Account" asp-action="Register" method="post" id="signupform" role="form"></form>
我已经在项目中添加了一些代码,因此更加方便。
HtmlExtensions.cs:
namespace System.Web.Mvc.Html
{
public static class HtmlExtensions
{
public static MvcForm BeginForm(this HtmlHelper htmlHelper, string formId)
{
return htmlHelper.BeginForm(null, null, FormMethod.Post, new { id = formId });
}
public static MvcForm BeginForm(this HtmlHelper htmlHelper, string formId, FormMethod method)
{
return htmlHelper.BeginForm(null, null, method, new { id = formId });
}
}
}
MySignupForm.cshtml:
@using (Html.BeginForm("signupform"))
{
@* Some fields *@
}
在System.Web.Mvc.Html (在System.Web.Mvc.dll中)中,开始形式的定义如下:- 详细信息
BeginForm(此HtmlHelper htmlHelper,字符串actionName,字符串
controllerName,对象routeValues,FormMethod方法,对象htmlAttributes)
意味着您应该这样使用:
Html.BeginForm(字符串actionName,字符串controllerName,对象routeValues,FormMethod方法,对象htmlAttributes)
因此,它在MVC 4中起作用
@using (Html.BeginForm(null, null, new { @id = string.Empty }, FormMethod.Post,
new { @id = "signupform" }))
{
<input id="TRAINER_LIST" name="TRAINER_LIST" type="hidden" value="">
<input type="submit" value="Create" id="btnSubmit" />
}