2013-08-01 11 views
5

मैं निम्नलिखित मार्गों मेरी RouteConfig वर्ग में परिभाषित:यह एमवीसी रूट क्यों काम नहीं करेगा?

 routes.MapRoute(
      name: "DefaultMessage", 
      url: "API/{action}", 
      defaults: new { action = "MessageGateway" } 
     ); 
     routes.MapRoute(
       name: "DefaultNoParms", 
       url: "{controller}/{action}", 
       defaults: new { controller = "API", action = "Login" } 
     ); 

जब मैं सिर्फ स्थानीय होस्ट के साथ अपने स्थानीय होस्ट पर यह परीक्षण: 65,133/पते के रूप में मैं APIController पर लॉग इन ActionResult मार्ग पर प्रेषित कर रहा हूँ, लेकिन जब मैं स्थानीय होस्ट की कोशिश: 65,133/एपीआई मैं निम्नलिखित त्रुटि मिलती है:

The matched route does not include a 'controller' route value, which is required

किसी को भी मुझे बता सकते हैं कि क्या गलत है? ActionResult MessageGateway मौजूद है ...

+0

आपके प्रश्न का उत्तर नहीं देते। विशेषता Routing में देखो। –

उत्तर

11

ऐसा लगता है कि त्रुटि स्वयं स्पष्टीकरणपूर्ण है - आपको यह बताने की आवश्यकता है कि नियंत्रक किस पर जाना है।

routes.MapRoute(
    name: "DefaultMessage", 
    url: "API/{action}", 
    defaults: new { controller = "API", action = "MessageGateway" } 
); 
+2

हाँ, विशेष रूप से, त्रुटि यह है कि आपने डिफ़ॉल्ट या रूट में नियंत्रक निर्दिष्ट नहीं किया है। –

+0

धन्यवाद। मुझे लगता है कि मैंने माना कि "एपीआई /" ऐसा करेगा। –

+0

ठीक है। इससे मुझे वहां का रास्ता मिल गया ... लेकिन अब जब मैं यह मार्ग (एपीआई/एपिलोगिन) जोड़ता हूं, तो यह इसे पहचान नहीं पाता है: मार्ग। मैपराउट ( नाम: "एपिइलोगिन", यूआरएल: "एपीआई/apilogin ", डिफ़ॉल्ट: नया {नियंत्रक =" एपीआई ", क्रिया =" apilogin "} ); routes.MapRoute ( नाम: "DefaultMessage", यूआरएल: "एपीआई/{कार्रवाई}", चूक: नए {नियंत्रक = "एपीआई", कार्रवाई = "MessageGateway"} ); routes.MapRoute ( नाम: "DefaultNoParms", यूआरएल: "{नियंत्रक}/{कार्रवाई}", चूक: नए {नियंत्रक = "एपीआई", कार्रवाई = "लॉग इन"} ); –

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