簡體   English   中英

如何在MVC3中對區域使用MapRoute

[英]How to use MapRoute with Areas in MVC3

我的網絡應用程序中有一個名為“管理員”的區域。

因此, http://localhost.com/Admin轉到“管理”區域中的“主控制器和索引操作”。

但是,我希望能夠使用以下網址訪問“管理員主頁控制器和索引操作”:

http://localhost.com/你好

我有這個作為我的嘗試:

routes.MapRoute(
            "HelloPage",
            "Hello/{controller}/{action}",
            new{area= "Admin", controller = "Home", action = "Index"},
            new[] { typeof(Areas.Admin.Controllers.HomeController).Namespace });

如您所見,我正在指定名稱空間和區域,但我得到的只是路由錯誤:

找不到視圖“索引”或其主視圖,或者沒有視圖引擎支持搜索到的位置。

它不在“管理”區域中搜索。

有任何想法嗎?

嘗試這個:

routes.MapRoute(
       "HelloPage",
       "Hello/{controller}/{action}/{id}",
       new { area = "Admin", controller = "Home", action = "Index", id = UrlParameter.Optional }
);

然后將其添加到您的管理控制器操作中:

  if (!this.ControllerContext.RouteData.DataTokens.ContainsKey("area"))
  {
      this.ControllerContext.RouteData.DataTokens.Add("area", "Admin")
  }

您可以在此處查看更多文檔。

問題是我在Global.asax中設置了路由。

我應該已經在Admin區域的AreaRegistration中進行了設置。 一旦我做了,問題就解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM