2012-03-10 16 views
8

पंजीकरण पूरा होने के बाद मैंने एमवीसी एप्लीकेशन बनाया है, मुझे आपको धन्यवाद पृष्ठ पर रीडायरेक्ट किया गया है।एमवीसी नियंत्रक में संदेश बॉक्स का उपयोग कैसे करें?

लेकिन इसके बजाय मैं संदेश पॉपअप दिखाना चाहता हूं तो मैं यह कैसे कर सकता हूं। मेरी कोड:

[HttpPost] 
     public ActionResult Enquiry(Enquiry enquiry) 
     { 
      if (ModelState.IsValid) 
      { 
       dbEntities.Enquiries.AddObject(enquiry); 
       dbEntities.SaveChanges(); 
       enquiry.SendEnquiryEmail(enquiry); 

       return RedirectToAction("Thankyou"); 
      } 
      return View(enquiry); 
     } 

     //redirect to thankyou page 
     public ActionResult Thankyou() 
     { 
      return View(); 
     } 

उत्तर

4

@Reynolds में

आपका उत्तर सही है।

उस्तरा में, निम्न पंक्ति से निम्न

alert('@TempData["alertMessage"]'); 

पुनश्च

alert("@TempData[alertMessage]"); 

बदला जा सकता है। उद्धरण

+1

उत्तर सरल है। यह मेरे लिए काम नहीं करता था इसलिए मुझे पता था कि यह उद्धरण के कारण था। एक बार जब मैंने उद्धरण तय किया, तो यह काम किया। –

+1

हम डेवलपर्स हैं और सबसे महत्वपूर्ण बात यह है कि तर्क ने काम किया ताकि जवाब मेरे लिए वास्तविक लगे। मैंने बस यह सुनिश्चित करने के लिए इसे सही किया कि एमवीसी सीखने वाला कोई भी व्यक्ति अटक नहीं जाए। मैं समझ नहीं पा रहा हूं कि आप क्या साबित करना चाहते हैं।यदि आप मुझे कहना चाहते हैं कि आप प्रतिभाशाली हैं, तो हो। गलती को इंगित करने के लिए धन्यवाद प्रतिभा। –

1

वेब आप जावास्क्रिप्ट का उपयोग करने के लिए एक संदेश बॉक्स प्रदर्शित करने के लिए की आवश्यकता होगी पर। वाक्य रचना (में आपके विचार यह सरलतम रूप है में है जाने के लिए)

Alert("Hello There!"); 

आप अपने नियंत्रक से सीधे इस फोन नहीं कर सकते हैं। बस उपरोक्त कोड को अपने धन्यवाद दृश्य में रखें।

यह बहुत आसान है लेकिन आपको अवधारणा देना चाहिए।

10

अपने ध्यान में रखते हुए अपने 'चेतावनी' सुनिश्चित करने के लिए केवल जब तुम (अपने ThankYou विधि से रीडायरेक्ट) और नहीं चाहते हैं जब कोई गलती से अपने में

//redirect to thankyou page 
public ActionResult Thankyou() 
{ 
    TempData["alertMessage"] = "Whatever you want to alert the user with"; 
    return View(); 
} 

फिर अपने 'ThankYou' दृश्य पर नेविगेट "दिखाता है धन्यवाद "देखें, यह:

if(null != TempData["alertMessage"]) 
    { 
     <script type="text/javascript"> 
     alert("@TempData[alertMessage]"); 
     </script> 
    } 

यह स्क्रिप्ट लिख देगा जैसा कि आप आमतौर पर किसी भी जावास्क्रिप्ट के लिए करेंगे। उम्मीद है की यह मदद करेगा!

3

ऐसा लगता है कि आप उस दृश्य पर "धन्यवाद" संदेश बॉक्स प्रदर्शित करना चाहते हैं जहां उपयोगकर्ता पंजीकरण डेटा दर्ज करता है?

यदि ऐसा है, तो आपको एक क्रिया में AJAX POST की आवश्यकता है, फिर सफलता/असफल संदेश को संभालें जो आपके क्लाइंट साइड जावास्क्रिप्ट में कार्रवाई से लौटाता है।

यदि आप ऐसा करते हैं तो ध्यान में रखना एक बात यह है कि आप नहीं चाहते हैं कि आपके उपयोगकर्ता कई बार "सबमिट" बटन पर क्लिक करें ताकि आप पहले क्लिक के बाद इसे छुपाएं या अक्षम कर सकें और इसे सक्षम/सक्षम कर सकें एक प्रमाणीकरण त्रुटि ...

5

नियंत्रक उपयोग में इस कोड को

public ActionResult Edit(CoverLetterModel model) 
{ 
    TempData["msg"] = "<script>alert('Change succesfully');</script>"; 
} 

दृश्य उपयोग इस कोड

@Html.Raw(TempData["msg"]) 
+0

अपने दृश्य पृष्ठ पर लिपि जोड़ने का सरल तरीका – vicky

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