web-dev-qa-db-ja.com

asp.net mvcのHtml.BeginForm()にIDプロパティを追加する方法は?

Jqueryを使用してフォームを検証したいのですが、asp.net mvcのフォームに追加する方法として、IDプロパティがありませんか?私はこれを使用しています...

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

私のjqueryバリデータプラグインはこれを受け取り、

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

今、私はsignupformとしてidを与えたい...任意の提案...

201
ACP

これにより、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>
329
Jason Rowe

プロジェクトにコードを追加したので、より便利です。

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 *@
}
6
ADM-IT

System.Web.Mvc.Html(inSystem.Web.Mvc.dll)で、開始フォームは次のように定義されます:- 詳細

BeginForm(このHtmlHelper htmlHelper、string actionName、string
controllerName、オブジェクトrouteValues、FormMethodメソッド、オブジェクトhtmlAttributes)

このように使用すべき手段:

Html.BeginForm(string actionName、string controllerName、object routeValues、FormMethodメソッド、object 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" />
}

少し遅れるかもしれませんが、私の場合は、2番目の匿名オブジェクトにIDを入力する必要がありました。これは、最初の値がルート値、つまりUrlを返すためのものだからです。

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

これが誰かを助けることができることを願っています:)

3
Daniaal