2010-04-14 108 views
2

這是一種重複的Trouble setting a default controller in MVC 2 RC Area區域的默認控制器?

但他的回答不滿足我,因爲它不起作用。

我有以下

/Areas/TestArea/Controllers/HelloController 
/Areas/TestArea/Views/Hello/Index 

/Controllers/HomeController 
/Views/Home/Index 

通過以下途徑:

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

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

我加入了第二個嘗試並獲得http://servername/TestArea猶如http://servername/TestArea/Hello工作,但遭到了沒有成功。基本的http://servername/按預期工作。

所以問題是:你如何返回一個區域的默認控制器?

編輯:我已上傳示例項目,顯示我的意思:http://beginningasp.net/TestAsync.zip

回答

3

嘗試註冊默認路由之前默認2路和默認值

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

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

好一套面積= yourareaname,堅實的點。這樣做後,我得到以下內容:「沒有找到視圖'索引'或其主人。搜索以下位置:」與所有根視圖文件夾的列表。沒有任何區域的文件夾被搜索到。 – Krisc 2010-04-14 18:56:04

+0

@Krisc你使用mvccontrib或者其他的lib來進行路由嗎? – Gregoire 2010-04-14 19:05:33

+0

不,這是一個「空白」MVC2項目(用於測試)。 – Krisc 2010-04-14 19:12:34