2011-03-19 12 views
53

ठीक है, घंटों के लिए चीजों की कोशिश कर रहा है और कुछ मदद का उपयोग कर सकता है। मैं एमवीसी 3 में एक पेज को लागू करने की कोशिश कर रहा हूं जिसमें "बैक" और "अगला" बटन हैं। जब बैक बटन क्लिक किया जाता है तो मैं क्लाइंट-साइड एमवीसी सत्यापन को चलने से अक्षम करना चाहता हूं ताकि मेरी एक्शन विधि चल सके और उपयोगकर्ता को पिछले लॉजिकल वेब पेज पर भेज दिया जाए।एमवीसी 3 में "क्लाइंट-साइड सत्यापन को अक्षम करें" रद्द करें बटन सबमिट करें

<script type="text/javascript"> 
    document.getElementById("backButton").disableValidation = true; 
</script> 

और इस:: मैं इस कोशिश की है

<input type="submit" name="backButton" value="← Back" 
title="Go back to step 1." disableValidation="true" /> 

लेकिन कोई बात नहीं क्या, cilent-साइड सत्यापन जावास्क्रिप्ट में लात मारता है और बटन इसके बाद के वापस करना नहीं दूँगा। मुझे लगता है कि disableValidation केवल एमवीसी 2 में काम करता है, और मुझे एमवीसी 3 में कुछ और करना है, लेकिन ऐसा कोई उदाहरण नहीं दिख रहा है।

उत्तर

117

यह रहस्यमय बल क्या है जिससे आप कहीं भी एक प्रश्न पोस्ट करते ही उत्तर प्रकट कर सकते हैं?

ऐसा लगता है कि एमवीसी 3 में आप वर्ग को "रद्द करें" श्रेणी जोड़कर एक बटन पर क्लाइंट-साइड सत्यापन अक्षम करते हैं। तो मेरे उदाहरण में:

<input type="submit" name="backButton" value="← Back" 
title="Go back to step 1." class="cancel" /> 

अच्छा काम करता है। और कोई भी आईडी विशेषता की आवश्यकता नहीं है। आप बटन पर एक वास्तविक शैली वर्ग है, तो सिर्फ इस कार्य करें:

<input type="submit" name="backButton" value="← Back" 
title="Go back to step 1." class="style-name cancel" /> 
+3

के लिए इसका उपयोग आप दूसरों की मदद करने के लिए मदद कर रहा है। :) मुझे एक जैसी समस्या थी और आपका समाधान जल्दी से पॉप अप हो गया। धन्यवाद। +1 – REMESQ

+5

मैंने सुना है कि यह कई बार समझाया गया है, लेकिन मुझे सबसे अच्छा "रबर डकिंग" पसंद है। यह इस बारे में है कि आप किसी समस्या को बेहतर तरीके से कैसे समझते हैं जब आप स्वयं को दूसरों को समझाते हैं। आपने इसे कभी भी इसके बारे में सोचा है, इससे आपको बेहतर जानकारी मिलती है, इसलिए इससे आपको समस्या की बेहतर समझ मिलती है। ऐसा करने के लिए एक अच्छी बात यह है कि इसे सोचें, या बात करें, जैसे कि आप इसे किसी ऐसे व्यक्ति के बारे में समझा रहे हैं जिसे आप आपकी मदद करना चाहते हैं। आपको जवाब मिल सकता है। "रबड़ बतख" किसी ऐसे व्यक्ति से आता है जो अपने मॉनीटर पर रबर बतख डालता है। उसके बाद वह रबड़ को अपनी समस्या बतख देगा और कभी-कभी इसे समझ लेगा। – vbullinger

+9

Wtf। मैंने सोचा कि एमवीसी का पूरा बिंदु चिंताओं को अलग कर रहा था। इस मामले में, यह कैसे * चिंता * चिंताओं को अलग करने का उल्लंघन नहीं करता है? वास्तव में दृश्य की कार्यक्षमता को प्रभावित करने के लिए सीएसएस का उपयोग करना? मुझे प्यार है कि यह काम करता है, लेकिन मैं इसका उपयोग करने के लिए गंदा महसूस करता हूँ। – KSwift87

1

सत्यापन लिपियों प्रस्तुत प्रकार input से जोड़ा जा लगते हैं। एक बटन को cancel बदलने से, मान्यता को छोड़ दिया जाता है:

<button type="button" onclick="document.location.href('Index')">Cancel</button> 
+0

एमवीसी 4 में नहीं। यह अभी भी इनपुट के रूप में बटन के लिए (कम से कम मेरे लिए) व्यवहार करता है। – eaglei22

-1

मैं मैं "mystcal बल" संदेह बटन

$("button").each(function (elem) { 
    var button = $($("button")[elem]); 
    button.addClass('cancel'); 

    if (button.attr('type') == 'submit') { 

     button.click(function (e) { 
      var validator = button.closest('form').validate(); 
      validator.cancelSubmit = true; 
     }); 
    } 
}); 
संबंधित मुद्दे

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