मैं एमवीसी 3 का उपयोग कर रहा हूं और मेरे आवेदन में क्षेत्र हैं। सामान्य तौर पर, सब कुछ ठीक काम करता है, मैं अपने क्षेत्र (जैसे व्यवस्थापक = क्षेत्र, नियंत्रक = विभाग) को इस तरह से नेविगेट कर सकते हैं:क्षेत्रों के साथ एमवीसी - एचटीएमएल। एक्शनलिंक गलत यूआरएल/रूट लौट रहा है?
<%: Html.ActionLink("Departments", "DepartmentIndex", "Department", new { area = "Admin"}, null)%>
हालांकि, मैंने देखा है कि अगर मैं में क्षेत्र निर्दिष्ट नहीं करते मेरी एक्शनलिंक, उदाहरण के लिए
<%: Html.ActionLink("Test", "Index", "Home")%>
यदि मैं "व्यवस्थापक" क्षेत्र में नेविगेट किया गया है तो यह काम करना बंद कर देगा। अर्थात मेरे यूआरएल अब http://localhost/myproj/Admin/Home/Index बजाय http://localhost/myproj/Home/Index
यहाँ क्या हो रहा है पर कोई भी विचार है?
एमवीसी ऐप/एरिया बनाते समय मेरे मार्ग सभी डिफ़ॉल्ट हैं। अर्थात
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new[] { "MyProj.Controllers" }
);
}
और मेरे क्षेत्र पंजीकरण
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
डिजाइन द्वारा इस है? यह पोस्टिंग ActionLink के बजाय RouteLink उपयोग करने का सुझाव: RouteLink Is it required to have "area" routevalue on actionlink if the application was grouped into areas?
क्या यह डिज़ाइन द्वारा है? शायद आपको स्पष्ट रूप से क्षेत्र = "" निर्दिष्ट करना होगा? – Raymond
संभावित डुप्लिकेट [क्या इसे एक्शनलिंक पर "क्षेत्र" रूटव्यू होना आवश्यक है यदि एप्लिकेशन को क्षेत्रों में समूहीकृत किया गया हो?] (Http://stackoverflow.com/questions/5549497/is-it-required-to-have-area- routevalue-ऑन-actionlink-अगर-आवेदन-था-जीआर) –