चरण 1: मार्ग बाधा बनाएँ।
public class RootRouteConstraint<T> : IRouteConstraint
{
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
var rootMethodNames = typeof(T).GetMethods().Select(x => x.Name.ToLower());
return rootMethodNames.Contains(values["action"].ToString().ToLower());
}
}
चरण 2:
अपने डिफ़ॉल्ट मानचित्रण मार्ग बाधा है कि हम अभी बनाया का उपयोग करता है के ऊपर एक नया मार्ग मैपिंग जोड़ें। सामान्य पैरामीटर नियंत्रक वर्ग होना चाहिए जिसे आप अपने "रूट" नियंत्रक के रूप में उपयोग करने की योजना बनाते हैं।
routes.MapRoute(
"Root",
"{action}",
new {controller = "Home", action = "Index", id = UrlParameter.Optional},
new {isMethodInHomeController = new RootRouteConstraint<HomeController>()});
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new
{controller = "Home", action = "Index", id = UrlParameter.Optional}
);
अब तुम इतनी तरह अपने घर नियंत्रक तरीकों का उपयोग करने में सक्षम होना चाहिए: example.com/about, example.com/contact
यह केवल HomeController प्रभावित करता है। अन्य सभी नियंत्रकों के पास डिफ़ॉल्ट रूटिंग कार्यक्षमता होगी।
यह पूरी तरह से काम करता है! धन्यवाद .... आदेश यहां मायने रखता है ... मैंने ठीक पहले किया था, हालांकि ... यह डिफ़ॉल्ट मार्ग के तहत था जिसने इसे काम नहीं किया। आपका कमाल, धन्यवाद! – BRogers
धन्यवाद श्रीमान .... –
वास्तव में अच्छा काम करता है! – Kbdavis07