यह काम करता है नहीं है जब यूआरएल की तरह है इस स्थानीय होस्ट: 2474/SOProblems/सबफ़ोल्डर/ChildController/सूचकांक
यह सामान्य है। आप रूट पैटर्न इस तरह दिखते हैं: SubFolder/ChildController
और SubFolder/ChildController/index
नहीं। इसके अतिरिक्त आपने अपने मार्ग को गलत स्थान पर परिभाषित किया है। आपने इसे अपनी मुख्य मार्ग परिभाषाओं में परिभाषित किया है, न कि आपके क्षेत्र की रूट परिभाषाओं में। तो अपने मुख्य मार्गों से कस्टम मार्ग परिभाषा से छुटकारा पाने और SOProblemsAreaRegistration.cs
फ़ाइल में जोड़ने (जो वह जगह है जहाँ अपने SOProblems
मार्गों पंजीकृत किया जाना चाहिए):
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"SubFolderRoute",
"SOProblems/SubFolder/ChildController",
new { controller = "ChildController", action = "Index" },
new[] { "Practise.Areas.SOProblems.Controllers.SubFolder" }
);
context.MapRoute(
"SOProblems_default",
"SOProblems/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
इसके अलावा अपने मार्ग पैटर्न के बाद से (SOProblems/SubFolder/ChildController
) नहीं है एक क्रिया नाम निर्दिष्ट करने की संभावना, आप इस नियंत्रक पर केवल एक ही क्रिया कर सकते हैं और यह आपके द्वारा पंजीकृत डिफ़ॉल्ट कार्रवाई होगी (index
)।
, तो आप इस नियंत्रक के बारे में अधिक कार्यों के लिए और अभी तक सूचकांक डिफ़ॉल्ट आप अपने मार्ग पैटर्न में शामिल होना चाहिए कि होना चाहता था:
context.MapRoute(
"SubFolder",
"SOProblems/SubFolder/ChildController/{action}",
new { controller = "ChildController", action = "Index" },
new[] { "Practise.Areas.SOProblems.Controllers.SubFolder" }
);
दोनों ही मामलों में अपने मुख्य मार्ग परिभाषा उनके डिफ़ॉल्ट मानों के साथ रह सकता है :
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}",
new { controller = "Home", action = "Index" }
);
}
स्रोत
2013-06-21 15:14:42
"काम नहीं करता" का अर्थ वास्तव में क्या है? – TGlatzer
@ Grumbler85 - आखिरी कोशिश की गई यूआरएल 404, –
देता है बैकटिक केवल "उपफोल्डर/चाइल्ड कंट्रोलर" है? और जांचें कि उपफोल्डर के अंदर आप नामस्थान सही ढंग से सेट है। – TGlatzer