Mam pytanie routingu ASP.NET MVC. Po pierwsze pozwól mi wyjaśnić konfigurację moich obszarów. To całkiem proste.Jak zapobiec wielu odwzorowaniom tras ASP.NET MVC
Areas
|
+--Foo
|
+--Controllers
|
+--BarController.cs
Mam folder w moich dziedzinach nazywany "Foo" oraz kontroler o nazwie "BarController.cs" Kontroler Bar posiada kilka metod nazwanych "DoStuff1()", "DoStuff2()", itd
Moja strona internetowa korzysta z następujących adresów:
/foo/bar/15
/foo/bar/dostuff1
/foo/bar/dostuff2
pierwszy URL wymaga identyfikatora i korzysta z domyślnej metody Index() w kontrolerze pasek, aby wypełnić stronę z widokiem i modelu.
W drugim i trzecim adresie URL używam ich do wywoływania ajax jQuery.
Oto kod z mojej okolicy registrion
context.MapRoute(null, "Foo/Bar/DoStuff1", new
{
action = "DoStuff1",
controller = "Bar"
});
context.MapRoute(null, "Foo/Bar/DoStuff2", new
{
action = "DoStuff2",
controller = "Bar"
});
context.MapRoute(null, "Foo/Bar/{id}", new
{
action = "Index",
controller = "Bar"
});
Moim problemem jest to, że dla każdej nowej metody kontrolera tworzę, muszę dodać kolejny odwzorowanie trasy w pliku registrion kierunkowym. Na przykład, jeśli dodać metodę DoStuff3(), to muszę dodać to do rejestracji Powierzchnia:
context.MapRoute(null, "Foo/Bar/DoStuff3", new
{
action = "DoStuff3",
controller = "Bar"
});
Jak mogę stworzyć ogólne odwzorowanie trasy do obsługi adresów URL wspomniałem powyżej, które nie wymagać nowych dodatków do pliku rejestracji obszaru dla nowych metod kontrolera?
Tego szukasz? http://stackoverflow.com/questions/2682170/asp-net-mvc-areas-how-to-hide-area-name-in-url –