Bir ASP.NET MVC yönlendirme sorusu var. Öncelikle, alanlarımın kurulumunu açıklamama izin verin. Oldukça basit.Çoklu ASP.NET MVC Yol Eşlemelerini Önlemek İçin
Areas
|
+--Foo
|
+--Controllers
|
+--BarController.cs
Ben vs. "BarController.cs" adlı bir "Foo" denilen benim alanlarda klasör ve denetleyici Bar denetleyicisi "DoStuff1()", "DoStuff2()" adlı çeşitli yöntemler vardır sahip
web sitem aşağıdaki URL'ler kullanır:
/foo/bar/15
/foo/bar/dostuff1
/foo/bar/dostuff2
ilk URL bir kimliği gerektirir ve görünümü ve modeli ile web sayfasını doldurmak için Bar denetleyicisi varsayılan Endeksi() yöntemini kullanır.
İkinci ve üçüncü URL'lerde, bunları jQuery ajax çağrıları için kullanıyorum. İşte
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"
});
Sorunum oluşturduğunuz her yeni denetleyici yöntemi için, ben alan registrion dosyasında başka rota eşleme eklemek zorunda olmasıdır alanım registrion gelen kodudur. Ben yöntemini DoStuff3() eklerseniz Örneğin, ben alan tescile bu eklemeniz gerekir:
context.MapRoute(null, "Foo/Bar/DoStuff3", new
{
action = "DoStuff3",
controller = "Bar"
});
O değil ben yukarıda belirtilen URL'ler işlemek için genel bir rota eşlemesi nasıl oluşturabilirim Yeni kontrol yöntemleri için alan kayıt dosyasına yeni eklemeler mi gerekiyor?
Bu ne arıyorsunuz? http://stackoverflow.com/questions/2682170/asp-net-mvc-areas-how-to-hide-area-name-in-url –