Asp.net mvc में Html.BeginForm () में ID प्रॉपर्टी कैसे जोड़ें?


210

मैं jquery का उपयोग करके अपने फॉर्म को मान्य करना चाहता हूं, लेकिन अभी इसके पास कोई IDसंपत्ति नहीं है कि इसे asp.net mvc में फॉर्म में कैसे जोड़ा जाए? मैं इसका उपयोग कर रहा हूं ...

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

और मेरे jquery सत्यापनकर्ता प्लगइन यह लेता है,

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

अब मैं आईडी देना चाहता हूं signupform... कोई भी सुझाव ...


2
अच्छा सवाल, jquery से कोई लेना देना नहीं है
डॉन रोलिंग

जवाबों:


349

यह आईडी जोड़ा जाना चाहिए।

ASP.NET MVC 5 और निम्न:

<% using (Html.BeginForm(null, null, FormMethod.Post, new { id = "signupform" }))
   { } %>

ASP.NET Core: आईडी सेट करने के लिए विषम सिंटैक्स से बचने के लिए आप टैग सहायकों का उपयोग कर सकते हैं

<form asp-controller="Account" asp-action="Register" method="post" id="signupform" role="form"></form>

4
कार्रवाई और नियंत्रक क्यों अशक्त हैं? क्या आप इसे समझा सकते हैं?
एसीपी

7
मुझे नहीं पता कि आप फॉर्म कहाँ पोस्ट करना चाहते हैं, इसलिए मैंने अभी उन्हें शून्य बना दिया है।
जेसन रोवे

8
साथ ही अशक्त करने के लिए एक्शन और कंट्रोलर सेट होना आपको उन्हें हार्ड-कोड करने से बचाता है। यह उपयोगी है यदि आपके पास एक आंशिक दृश्य के भीतर अपना रूप है और उस हिस्से का उपयोग कई दृश्यों जैसे बनाएँ और संपादन के भीतर किया जाता है।
केन प्रीस्पा

1
HTML के सभी सहायकों के लिए API या दस्तावेज़ीकरण कहां मिलता है? उदाहरण के लिए, जहां यह पता चलता है कि पैरामीटर क्या हैं?
जैपनीगोलिका

2
@Zapnologica इस msdn.microsoft.com/en-us/library/dd460542%28v=vs.108%29.aspx पर एक नज़र डालें । HTMLAttributes पैरामीटर में एक ऑब्जेक्ट होता है जिसमें नाम / मान जोड़े होते हैं। new {id = "myid", @ class = "myclass"}
जेसन रोवे

7

मैंने अपनी परियोजना में कुछ कोड जोड़े हैं, इसलिए यह अधिक सुविधाजनक है।

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 *@
}

5

में System.Web.Mvc.Html (में System.Web.Mvc.dll ) प्रपत्र शुरू की तरह परिभाषित किया गया है: - विवरण

बिगफॉर्म (यह HtmlHelper htmlHelper, स्ट्रिंग एक्शननाम, स्ट्रिंग
कंट्रोलरनाम, ऑब्जेक्ट रूटवैल्यू, फॉर्ममेथोड विधि, ऑब्जेक्ट htmlAttributes)

मतलब आपको इस तरह से उपयोग करना चाहिए:

Html.BeginForm (स्ट्रिंग एक्शननाम, स्ट्रिंग कंट्रोलरनाम, ऑब्जेक्ट रूटवैल्यू, फॉर्ममेथोड विधि, ऑब्जेक्ट 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" />
}

4

थोड़ी देर हो सकती है लेकिन मेरे मामले में मुझे आईडी को दूसरी अनाम वस्तु में डालना होगा। इसका कारण यह है कि 1 मार्ग के मानों के लिए है यानी वापसी Url।

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

आशा है कि यह किसी की मदद कर सकता है :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.