2012-02-07 18 views
5

मुझे नहीं पता कि यह सामान्य है, लेकिन ChildActionOnly विधियों को मार्ग के लिए पूछना चाहिए? उदाहरणएएसपी एमवीसी चाइल्डएक्शन केवल रूटिंग

[ChildActionOnly] 
     public PartialViewResult List(string countryCode, string cityName) 
     {... 
      return PartialView(model); 
     } 

के लिए मुझे यह पसंद है प्रस्तुत करना:

@{Html.RenderAction("List", "MyController", new { area = "MyArea", countryCode = ViewBag.CountryCode, cityName = ViewBag.CityName });} 

डिबग में मैं ऊपरी लाइन पर मिलती है:

मार्ग तालिका में कोई मार्ग आपूर्ति किए गए मान से मेल खाता है।

अद्यतन

context.MapRoute("name", 
       "", 
       new { area = "MyArea", controller = "MyControlelr", action = "List", countryCode = UrlParameter.Optional, cityName = UrlParameter.Optional }); 

उत्तर

5

हाँ यह करता है।

सभी [ChildActionOnly] ऐसा कहता है कि इस क्रिया को यूआरएल (जैसे एक नियमित HTTP जीईटी) के माध्यम से एक्सेस नहीं किया जा सकता है, बल्कि इसे Html.Action या Html.RenderAction द्वारा निष्पादित किया जाना चाहिए। यह एक नया HTTP अनुरोध नहीं है, लेकिन यह अभी भी एमवीसी अनुरोध पाइपलाइन (मार्ग मूल्यों के माध्यम से नियंत्रक/क्रिया चयन) के माध्यम से चला जाता है।

+0

धन्यवाद। सिर्फ एक और चीज मैंने प्रश्न अद्यतन किया है और मार्ग मूल्य का जोड़ा जोड़ा है। क्या आप मुझे बता सकते हैं कि यह दो वैकल्पिक पैरामीटर के लिए मान्य है? – 1110

+0

@ 1110 - हाँ यह है। मानों को बस 'string.Empty' पर सेट किया जाएगा, कोई मान सेट नहीं है। – RPM1984

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