ASP.NET MVC routing - trying to have a name in the URL -
मेरे पास वर्तमान में निम्नलिखित मार्ग हैं:
routes.IgnoreRoute ("{resource} AXD / {* pathInfo} "); routes.IgnoreRoute ( "{} संसाधन .gif / {* pathInfo}"); MvcRoute.MappUrl ("{नियंत्रक} / {action} / {ID}")। डीफॉल्ट के साथ (नया {नियंत्रक = "होम", एक्शन = "इंडेक्स", आईडी = 0})। कंसल्टंस के साथ (नया {नियंत्रक = ".. । "})। AddWithName (" डिफ़ॉल्ट ", मार्ग) .RouteHandler = नया MvcRouteHandler (); MvcRoute.MappUrl ("{title} / {ID}")। डीफॉल्ट के साथ (नया {नियंत्रक = "विशेष", एक्शन = "इंडेक्स"})। AddWithName ("view", मार्ग) .टाउटहेन्डलर = नया MvcRouteHandler ();
स्पेशल कंट्रोलर का एक तरीका है: पब्लिक एक्शन रिजल्ट इंडेक्स (इंट आईडी)
जब भी मैं अपने ब्राउज़र को http: / / Hostname / test / 5
, मुझे निम्न त्रुटि मिलती है:
पैरामीटर शब्दकोश में 'non- 'स्पेशल कंट्रोलर' में 'System.Web.Mvc.ActionResult Index (Int32)' विधि एक पैरामीटर वैकल्पिक बनाने के लिए इसका प्रकार या तो संदर्भ प्रकार या नल योग्य प्रकार होना चाहिए।
पैरामीटर का नाम: पैरामीटर
वर्णन: वर्तमान वेब अनुरोध के निष्पादन के दौरान एक अनियंत्रित अपवाद उत्पन्न हुआ। कृपया त्रुटि के बारे में अधिक जानकारी के लिए स्टैक ट्रेस की समीक्षा करें और कोड में इसकी उत्पत्ति किस प्रकार की गई है।
ऐसा क्यों है? मैं mvccontrib मार्ग डीबगर का उपयोग किया है, और ऐसा लगता है कि मार्ग अपेक्षित रूप से सुलभ है।
यह बिल्कुल ठीक है त्रुटि संदेश कहते हैं आपके पास "आईडी" नामक एक पैरामीटर है, जिसमें कोई डिफ़ॉल्ट मान नहीं है, लेकिन आपकी विधि एक गैर-नल योग्य int की अपेक्षा कर रही है क्योंकि कोई डिफ़ॉल्ट मान नहीं है, यह "नल" में पार करने का प्रयास कर रहा है, लेकिन ... यह नहीं कर सकता, क्योंकि आपका इंट पैरामीटर गैर-रिक्त है।
मार्ग डीबगर शायद जांच नहीं करता इसे ठीक करने के लिए:
MvcRoute.MappUrl ("{title} / {ID}")। डीफॉल्ट के साथ (नया {नियंत्रक = "विशेष", एक्शन = "इंडेक्स", आईडी = 0})। AddWithName ("देखें", मार्ग) .RouteHandler = नया MvcRouteHandler ();
Comments
Post a Comment