MVC 5
में रूटिंग गुण MVC से पहले 5 आप routes.MapRoute(...)
पर कॉल करके विशिष्ट क्रियाओं और नियंत्रकों को यूआरएल मैप कर सकते हैं RouteConfig.cs फ़ाइल में। यह वह जगह है जहां मुखपृष्ठ के लिए यूआरएल संग्रहीत किया जाता है (Home/Index
)। लेकिन अगर आप डिफ़ॉल्ट मार्ग के रूप में नीचे दिखाया गया है, संशोधित करने,
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
ध्यान रखें कि यह अन्य कार्यों और नियंत्रकों के URL को प्रभावित करेगा। उदाहरण के लिए, यदि आपके पास ExampleController
नामक नियंत्रक वर्ग था और इसके अंदर एक क्रिया विधि DoSomething
कहलाती है, तो अपेक्षित डिफ़ॉल्ट यूआरएल ExampleController/DoSomething
अब काम नहीं करेगा क्योंकि डिफ़ॉल्ट मार्ग बदल दिया गया था।
इस का संभावित हल डिफ़ॉल्ट मार्ग के साथ गड़बड़ और अन्य कार्यों और इसलिए तरह नियंत्रकों के लिए RouteConfig.cs फ़ाइल में नए मार्गों का निर्माण नहीं,
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Example",
url: "hey/now",
defaults: new { controller = "Example", action = "DoSomething", id = UrlParameter.Optional }
);
अब ExampleController
वर्ग के DoSomething
कार्रवाई करेंगे करने के लिए है यूआरएल hey/now
पर मैप किया जाए। लेकिन हर बार जब आप विभिन्न कार्यों के लिए मार्ग परिभाषित करना चाहते हैं तो यह करने के लिए कठिन हो सकता है। तो MVC 5 में आप अब, इसलिए जैसे कार्यों के लिए यूआरएल से मिलान करने के
public class HomeController : Controller
{
// url is now 'index/' instead of 'home/index'
[Route("index")]
public ActionResult Index()
{
return View();
}
// url is now 'create/new' instead of 'home/create'
[Route("create/new")]
public ActionResult Create()
{
return View();
}
}
स्रोत
2017-06-05 14:26:21
MVC 4 में गुण जोड़ सकते हैं, इस App_Start/RouteConfig.cs – NikolaiDante
@NikolaiDante में किया जा सकता है कि आप के रूप में एक जवाब टिप्पणी करना चाहिए मैं लगभग इसे याद किया और यह इस जवाब से तेज है। :) धन्यवाद – GazB
एमवीसी में 5. यदि आपके पास फॉर्म पेज है, तो जब आप होम पेज पर लॉगिन पर क्लिक करते हैं, तो यह फिर भी होम कंट्रोलर पर रीडायरेक्ट करेगा, न कि रूट में निर्दिष्ट आपके कस्टम कंट्रोलर। पंजीकरण कार्रवाई समान काम करेगा। तो रूट कॉन्फिग बदलने के अलावा, कुछ कोड बदलने की भी आवश्यकता है जहां रेडिरक्शन टॉक्शन ("इंडेक्स", "होम") को कॉल करना और इसे अपने कंट्रोलर और एक्शन नेम से बदलना है। – anIBMer