2010-05-18 11 views
175

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

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

और मेरे jQuery validator प्लगइन इस लेता है,

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

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

+2

अच्छा सवाल :), jQuery –

उत्तर

284

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

ASP.NET MVC 5 और कम:

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

ASP.NET कोर: आप use tag helpers in forms आईडी स्थापित करने के लिए अजीब वाक्य रचना से बचने के लिए कर सकते हैं।

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

साथ कोई संबंध नहीं है यही कारण है कि कार्रवाई और नियंत्रक वहाँ अशक्त कर रहे हैं? क्या आप इसे समझा सकते हैं? –

+6

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

+8

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

6

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

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

System.Web.Mvc.Html (में System.Web.Mvc.dll) में शुरू Details

BeginForm -: रूप की तरह परिभाषित किया गया है (इस HtmlHelper HtmlHelper, स्ट्रिंग actionName, स्ट्रिंग
controllerName, वस्तु routeValues, FormMethod विधि, htmlAttributes वस्तु)

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

Html.BeginForm (स्ट्रिंग actionName , स्ट्रिंग कंट्रोलरनाम, ऑब्जेक्ट मार्ग वैल्यूज, फॉर्म मैथ्यू विधि, ऑब्जेक्ट एचटीएमएलएट्रिब्यूट्स)

इसलिए, यह थोड़ी देर हो चुकी 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" /> 
} 
1

काम किया जा सकता है लेकिन मेरे मामले में मैं 2 गुमनाम वस्तु में आईडी डाल करने के लिए किया था। ऐसा इसलिए है क्योंकि पहला मार्ग मार्ग मानों के लिए है यानी वापसी यूआरएल है।

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

आशा इस मदद कर सकते हैं किसी को

संबंधित मुद्दे