2010-03-03 6 views
35

से वापसी बूल मैंने jquery के माध्यम से एक फॉर्म सबमिट किया है, लेकिन मुझे एक्शन रीसल्ट को सही या गलत लौटने की आवश्यकता है।एएसपीनेट एमवीसी एक्शन्रेसल्ट

[HttpPost] 
    public ActionResult SetSchedule(FormCollection collection) 
    { 
     try 
     { 
      // TODO: Add update logic here 

      return true; //cannot convert bool to actionresult 
     } 
     catch 
     { 
      return false; //cannot convert bool to actionresult 
     } 
    } 

मैं अपने JQuery कॉल कैसे डिजाइन होता है कि प्रपत्र डेटा पारित करने के लिए और अगर वापसी मान सही या गलत है भी की जाँच करें:

इस

कोड है जो नियंत्रक विधि के लिए है। मैं सही या गलत लौटने के लिए उपरोक्त कोड को कैसे संपादित करूं?

+7

मैं पसंद सरल, उदाहरण के नीचे उबला हुआ जो सभी expunges

$.getJSON( '/MyDear/Action', { MyFormParam: $('MyParamSelector').val(), AnotherFormParam: $('AnotherParamSelector').val(), }, function(data) { if (data) { // Do this please... } }); 

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

Jquery पक्ष में प्रतिक्रिया को संभालने के लिए अप्रासंगिक कोड पुस्तक लेखकों सहित 95% अन्य लोगों की इच्छा है, वही करेंगे। –

+0

@Eclipsoft शायद क्लॉउट वाला कोई व्यक्ति मेटा पर विचार पर चर्चा कर सकता है अगर इसे कवर नहीं किया गया है। – MrBoJangles

उत्तर

64

आप एक बूल के रूप में या एक बूल संपत्ति के साथ एक जेसन परिणाम वापस कर सकते हैं। कुछ इस तरह:

[HttpPost] 
public ActionResult SetSchedule(FormCollection collection) 
{ 
    try 
    { 
     // TODO: Add update logic here 

     return Json(true); 
    } 
    catch 
    { 
     return Json(false); 
    } 
} 
+3

+1, * फाइलें जो भविष्य में उपयोग के लिए अपनी याद में * –

+2

+1, आप नायक हैं – Eddie

4

IMHO आप (कोड रख-रखाव के लिए) JsonResult बजाय ActionResult उपयोग करना चाहिए। कैसे इस बारे में)

+1

एक्शन रिसेट के बजाए जेसन परिणाम का उपयोग कैसे करते हैं कोड को और अधिक बनाए रखने योग्य बनाता है? AFAIK आपके द्वारा उपयोग किए जाने वाले परिणाम के प्रकार केवल ब्राउजर की अपेक्षा की जा रही आउटपुट के प्रकार को प्रभावित करेगा। – JoseMarmolejos

+1

@ जोसेमर्मोलोजोस हाय जोस, मैं आपको अपने तरीकों से सबसे अधिक व्युत्पन्न प्रकार को वापस करने की सलाह देता हूं, क्योंकि यह आपको आवश्यकतानुसार चेक किए गए कास्ट किए बिना व्युत्पन्न विधियों और रिटर्न प्रकार के गुणों का उपयोग करने देता है। घटनाओं के लिए भी लागू होता है। दूसरी तरफ, कॉन्वर्सिस नियम के कारण, दोनों विकल्प प्रतिनिधियों के उपयोग के लिए समान हैं;) +1 – SDReyes

2

:

[HttpPost] 
public bool SetSchedule(FormCollection collection) 
{ 
    try 
    { 
     // TODO: Add update logic here 

     return true; 
    } 
    catch 
    { 
     return false; 
    } 
} 
+2

यह स्ट्रिंग "ट्रू" देता है, इसलिए एक बूलियन चेक विफल रहता है, उदा। अगर (डेटा === सत्य), JSON दृष्टिकोण के विपरीत। – StuartQ

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