के बीच भ्रम मैं एमएस प्रमाणपत्र (70-515) के लिए अध्ययन कर रहा हूं।
मैं ऑनलाइन जो खोजता हूं और जो मैंने अभ्यास अभ्यास में पढ़ा है उससे उलझन में हूं।
SO राज्य पर कुछ प्रश्न हैं कि एक RedirectToAction का उपयोग ब्राउज़र को 302 भेज रहा है, इस प्रकार यह पता बार में अपना यूआरएल बदल सकता है।रीडायरेक्ट और रीडायरेक्ट टॉक्शन
लेकिन इस अभ्यास परीक्षण के 1 से एक सवाल यह है:
प्रश्न:
MVC होम नियंत्रक वर्तमान में केवल डिफ़ॉल्ट सूचकांक कार्रवाई है। प्रासंगिक कोड निम्नलिखित कोड उदाहरण में दिखाया गया है।
public ActionResult Index()
{
ViewData["Message"] = "Hello!";
return View();
}
आप FindID नामक एक कार्रवाई है कि आईडी पैरामीटर पथ के भाग के रूप में प्रवेश किया प्रदर्शित करता है बनाने के लिए की जरूरत है। यदि पथ में आईडी पैरामीटर शामिल नहीं है, तो ASP.NET को ब्राउज़र के पता बार में यूआरएल को बदले बिना इंडेक्स एक्शन को संसाधित करना होगा, और अपवाद फेंकना नहीं चाहिए। आप किस कोड सेगमेंट का उपयोग करना चाहिए?
सही जवाब:
public ActionResult FindID(int? id)
{
if (!id.HasValue)
return RedirectToAction("Index");
ViewData["Message"] = "ID is " + id.ToString();
return View();
}
व्याख्या:
आप ActionResult की RedirectToAction फार्म का उपयोग कर सकते हैं MVC एक कार्रवाई के भीतर से एक अलग कार्रवाई कार्रवाई करने के लिए पैदा करने के लिए। एमवीसी वर्तमान कार्रवाई को त्याग देता है और अनुरोध को संसाधित करता है जैसे कि मार्ग सीधे आपके द्वारा रीडायरेक्ट की गई कार्रवाई के लिए नेतृत्व किया था। अनिवार्य रूप से, यह सर्वर को कॉल करने के बराबर है। मानक एएसपी.NET अनुप्रयोग में ट्रांसफर करें।
रीडायरेक्ट एक्शन रिसेट ब्राउज़र पर "HTTP त्रुटि 302 - मिली" प्रतिक्रिया भेजता है, जो ब्राउज़र को निर्दिष्ट यूआरएल लोड करने का कारण बनता है। यह पता बार में दिखाई देने वाला पता बदलता है।
तो:
- एक RedirectToAction ब्राउज़र में URL अछूता छोड़ करता है?
- क्या रीडायरेक्ट ब्राउज़र में यूआरएल बदलता है?
- क्या अभ्यास परीक्षा का स्पष्टीकरण सही है? कि से मैं समझता हूँ कि RedirectToAction नहीं करता है एक 302.
ठीक है, तो ऐसा लगता है कि प्रमाणीकरण अभ्यास परीक्षण में जो लिखा गया है वह गलत है (भयानक!)। कोई सही जवाब उपलब्ध नहीं था। मुझे आश्चर्य है कि अगर मुझे परीक्षा में बिल्कुल सही सवाल मिलता है तो मुझे क्या करना चाहिए। मुझे लगता है कि मैं वही जवाब दूंगा जैसा अब परीक्षण में सही है। – TweeZz