[jquery] asp.net mvc에서 Html.BeginForm ()에 ID 속성을 추가하는 방법은 무엇입니까?

jquery를 사용하여 양식의 유효성을 검사하고 싶지만 IDasp.net mvc의 양식에 양식을 추가하는 방법은 현재 속성이 없습니까? 나는 이것을 사용하고있다 …

<% using (Html.BeginForm()) {%>

내 jquery 유효성 검사기 플러그인이 이것을 취합니다.

var validator = $("#signupform").validate({

이제 나는 ID를주고 싶습니다 signupform… 모든 제안 …



답변

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" />
}


답변

조금 늦을지도 모르지만 제 경우에는 두 번째 익명 객체에 ID를 넣어야했습니다. 이는 첫 번째 경로 값, 즉 반환 URL에 대한 것이기 때문입니다.

@using (Html.BeginForm("Login", "Account", new {  ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { id = "signupform", role = "form" }))

이것이 누군가를 도울 수 있기를 바랍니다 🙂


답변