मैं निम्नलिखित मैप किया मार्गasp.net-MVC मार्ग मुद्दा: मापदंडों शब्दकोश पैरामीटर
संपादित के साथ कस्टम मार्ग स्थापित करने के लिए कोशिश कर रहा हूँ के लिए एक अशक्त प्रविष्टि शामिल हैं: मेरा पूरा मार्ग config
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
#region FixtureAdmin
routes.MapRoute(
name: "FixtureEdit",
url: "{controller}/{action}/{id}",
defaults: new { controller = "FixtureAdmin", action = "Edit", id = UrlParameter.Optional }
);
#endregion
#region Results
routes.MapRoute(
name: "ResultAdd",
url: "{controller}/{action}/{fixtureId}",
defaults: new { controller = "Result", action = "Add", fixtureId = UrlParameter.Optional }
);
#endregion
और मेरी नियंत्रक कोड
public ActionResult Add(int fixtureId)
{
// return model to view etc..
}
यह अपवाद के साथ आ रहा है, भले ही मैं वैकल्पिक के रूप में पैरामीटर निर्दिष्ट किया है।
मापदंडों शब्दकोश पैरामीटर के लिए एक अशक्त प्रविष्टि शामिल 'fixtureId'
अजीब बात है, अगर मैं कार्रवाई जोड़ें के मानदंड को बदलना सिर्फ 'Id' तो निम्न URL परिणाम काम करेंगे करने के लिए है// 1 जोड़ें। मैं उलझन में हूं, क्या कोई डिफ़ॉल्ट रूटिंग है जो मेरे कस्टम एक को ओवरराइड कर रही है? पैरामीटर को केवल 'आईडी' काम में क्यों बदलना होगा?
संपादित
बस का परीक्षण करने, मैं कार्रवाई
public ActionResult Add(int? fixtureId, int? testId)
मैं तो मार्ग तदनुसार संपादित और अब यह काम करता है के लिए एक और पैरामीटर जोड़ा है, तो मुझे लगता है यह डिफ़ॉल्ट रूटिंग में कोई समस्या है ।
उनके किसी अन्य मार्ग भी पहले या इस – rajansoft1
के बाद के लिए कॉन्फ़िगर आप कॉल करने में सक्षम होना चाहते हैं, तो है आईडी निर्दिष्ट किए बिना 'जोड़ें', 'स्थिरता आईडी' शून्य होनी चाहिए - 'int? fixtureId'। "वैकल्पिक" मार्ग के संदर्भ में इसका मतलब है यह, यूआरएल में होने की जरूरत नहीं है, ताकि आप 'public ActionResult जोड़ें (जैसे कार्यों हो सकता है) {/ * कोई पैरामीटर * /}' – Alex
केवल बात मैं के बारे में सोच सकते हैं क्या आप एक इंट का उपयोग कर रहे हैं जो गैर-शून्य है? आईडी शायद एमवीसी ढांचे में बेक किया गया है, इसलिए संभवतः अलग-अलग काम करता है। – David