2016-10-27 4 views
5

नहीं पैदा कर रहा मैं निम्नलिखित मार्गों इस मामले मेंटैग सहायकों सही ढंग से मेरी यूआरएल

app.UseMvc(routes => 
    { 

     routes.MapRoute(
      name: "admin", 
      template: "{controller=Home}/{action=Index}/{id?}", 
      defaults: new {Area = "Admin"}, 
      constraints: new {HostConstraint = new MyConstraint()}); 
     routes.MapRoute(
      name: "admin-rep", 
      template: "Rep/{controller=Home}/{action=Index}/{id?}", 
      defaults: new { Area = "" }, 
      constraints: new { HostConstraint = new MyConstraint() }); 

     routes.MapRoute(
      name: "default", 
      template: "{controller=Home}/{action=Index}/{id?}"); 
    }); 

MyConstraint की स्थापना की है हमेशा लौट सच

  • यदि मैं मार्ग "/" तक पहुंचने का प्रयास करता हूं तो मैं एडमिन, कंट्रोलर होम, एक्शन इंडेक्स क्षेत्र में समाप्त होता हूं। यह ठीक है।
  • यदि मैं "/ rep" तक पहुंचने का प्रयास करता हूं तो मैं रूट क्षेत्र, नियंत्रक घर, एक्शन इंडेक्स में समाप्त होता हूं। ठीक । समस्या यह है कि इस दृश्य में मेरे होमकंट्रोलर (रूट क्षेत्र से) में एक और क्रिया का संदर्भ देने वाला एक लिंक है। मैं लिंक को/rep/home/action2 पर इंगित करने की उम्मीद कर रहा था लेकिन उत्पन्न मार्ग/home/action2 इसके बजाय है। ऐसा लगता है कि यूआरएल उत्पन्न करते समय कुछ गलत मिलान होता है ??
<a asp-action="Action">Action</a> 

@Html.ActionLink("Action", "Action") 

उत्तर

1

आप Area थे, लेकिन मुझे लगता है कि आप टैग सहायक में asp-area विशेषता निर्दिष्ट नहीं किया है और यह इस समस्या का कारण बनते हैं। अधिक informatin asp-area स्थापित करने के लिए के लिए लिंक नीचे देखें:

Asp.Net MVC Core 1.0 - anchor tag helper with an empty area

3

अपने मार्गों को पुन: व्यवस्थित, admin-rep बारे में पहले और उसके बाद admin

app.UseMvc(routes => 
{ 


    routes.MapRoute(
     name: "admin-rep", 
     template: "Rep/{controller=Home}/{action=Index}/{id?}", 
     defaults: new { Area = "" }, 
     constraints: new { HostConstraint = new MyConstraint() }); 

    routes.MapRoute(
     name: "admin", 
     template: "{controller=Home}/{action=Index}/{id?}", 
     defaults: new {Area = "Admin"}, 
     constraints: new {HostConstraint = new MyConstraint()}); 

    routes.MapRoute(
     name: "default", 
     template: "{controller=Home}/{action=Index}/{id?}"); 
}); 
+0

मैं मानता हूँ ... शायद अपने "व्यवस्थापक" रूटिंग कॉल प्रबंध कर रहा है करने के लिए/प्रतिनिधि – Bardo

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