SORU
23 ŞUBAT 2011, ÇARŞAMBA


Olan proje ile aynı adı taşıyan birden fazla kumanda ile sorun

ASP.NET MVC 3 projemde aşağıdaki hata ile çalışan biriyim

Birden çok türde eşleşme bulundu denetleyici adında 'Ev'. Bu olabilir bu hizmetleri rotayı olursa (')/'Home/{action} istek aramak için Ad değil belirtin denetleyicisi isteği ile eşleşen. Eğer durum buysa, bu kayıt yol aşırı yüklenme çağırarak 'MapRoute' götüren bir yöntem 'ad' parametresi.

'Ev' bulduğu için istek aşağıdaki eşleştirme denetleyicileri: Şirketim.MyProject.WebMvc.Denetleyicileri.HomeController Şirketim.MyProject.WebMvc.Alanlar.Şirket.Denetleyicileri.HomeController

Varsayılan denetleyicisi klasörüme bir HomeController, Şirketim sınıf bir isim var.MyProject.WebMvc.Denetleyicileri.HomeController.

RegisterRoutes benim yöntem, benim genel olarak.asax gibi görünüyor:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );
    }

Ben o zaman bir alan Şirketin adı, alan için varsayılan denetleyici klasöründe bir HomeController, Şirketim sınıf bir isim var.MyProject.WebMvc.Alanlar.Şirket.Denetleyicileri.HomeController.

CompanyAreaRegistration dosyasında RegisterArea yöntemi gibi görünüyor:

   public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Company_default",
            "Company/{controller}/{action}/{id}",
            new { area = "Company", action = "Index", id = UrlParameter.Optional }
        );
    }

Bu yazının başında altını çizdiğim hata doğuruyor. Diğer çeşitli mesajlar için bir çözüm, ile birlikte parçası için çalışıyor mücadele ediyorumHİÇ ŞANS.

Varsayılan denetleyicileri klasöründe bir HomeController ve HER alanda bir sonra mümkün mü? Eğer öyleyse, (yaptığım varsayımıyla) yapılandırma dosyası değişiklikleri bu işi yapmak için yapmak gerekiyor mu?

Herhangi bir yardım çok mutluluk duyacağız!

CEVAP
23 ŞUBAT 2011, ÇARŞAMBA


Hata mesajı önerilen çözüm içerir: Eğer bu durumda", 'MapRoute' yöntemi alır bir 'ad' parametresi." aşırı yüklenme arayarak bu rota kayıt

routes.MapRoute(
     "Default", // Route name
     "{controller}/{action}/{id}", // URL with parameters
     new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
     new string[] { "MyCompany.MyProject.WebMvc.Controllers"}
);

Bu http://server/ seni istiyorum, senin HomeController Dizin yapmak, sanırım, yapacak. http://server/company/home alan kayıt tanımlandığı gibi Şirket, bölgenin HomeController Dizin eylem, gidecek.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog

    EEVblog

    4 NİSAN 2009
  • Skrillex

    Skrillex

    6 NİSAN 2010
  • WhtButterflyLiz

    WhtButterfly

    14 NİSAN 2008