से अतिरिक्त पैरामीटर्स के साथ पोस्ट एक्शन विधि एएसपीनेट एमवीसी के साथ एक नियंत्रक कार्रवाई में एक फॉर्म पोस्ट करना संभव है जिसमें फॉर्म में पैरामीटर नहीं हैं, लेकिन यूआरएल से?एएसपी.नेट एमवीसी - यूआरएल
उदाहरण के लिए
GroupController में कार्रवाई विधि:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(int idOne, int idTwo, Model model)
{ ... }
मार्ग:
"{controller}/{action}/{idOne}/{idTwo}"
प्रकाशित किया गया था यूआरएल:
/Employee/Show/1/42
इस उदाहरण में, रूप है पोस्ट किया जा रहा है एक अलग नियंत्रक, मॉडल के पास सही मान है, हालांकि अन्य पैरामीटर में डिफ़ॉल्ट मान हैं 0.
जिस व्यवहार की मैं अपेक्षा कर रहा था वह यह है कि मॉडलबिन्डर यह देखेगा कि मेरे पास दो पैरामीटर हैं जो दिए गए मार्ग से मेल खाते हैं, और वर्तमान को असाइन करते हैं एक जीईटी ऑपरेशन काम करता है उसी तरह पैरामीटर के लिए 1 और 42 के मान।
क्या यह व्यवहार समर्थित नहीं है, या क्या मुझे कुछ याद आ रहा है?
संपादित: स्पष्ट है कि, नियंत्रक Employee
के लिए Show
दृश्य दिए गए फ़ॉर्म का एक रूप है जो एक अलग नियंत्रक से पोस्ट की जा रही हैं। हम इसे Group
पर कॉल कर सकते हैं।
प्रपत्र कार्रवाई URL के रूप में
Html.BeginForm("Create", "Groups")
इस प्रकार मैं पाया है Html.BeginForm
लिए कई अलग अलग भार के कोशिश कर रहा है, जो पैरामीटर केवल मैप की जाती हैं जब प्रपत्र के बाद इस
/Groups/Create/0/0
प्रपत्र घोषित किया जाता है की तरह लग रहा एक्शन यूआरएल ब्राउजर एड्रेस बार में मौजूदा यूआरएल से मेल खाता है।
तो अगर मैं यूआरएल /Groups/Create/1/42
पर नेविगेट करता हूं तो मेरे पास एक नया फॉर्म होगा। यदि मैं फॉर्म जमा करता हूं, तो URL रूट मान POST कार्रवाई में पास किए जाते हैं।
मैं मार्ग को परिभाषित मॉडल शामिल करने के लिए और बातिल की एक डिफ़ॉल्ट के रूप में स्थापित करने की कोशिश और देखो क्या होता होगा। '{नियंत्रक}/{कार्रवाई}/{idOne}/{idTwo}/{मॉडल}' –