2011-02-02 132 views
0

因此,在IIS中,您可以將所有站點文件夾的默認文檔設置爲「index.aspx」。文件夾下的MVC默認文檔

在MVC中,我該如何跨越a)所有目錄或一次失敗b)一個目錄。

我在[視圖]頁/ [搜索]/[的Index.aspx]

此網址作品 - WWW [mysite的] /搜索/索引 但我不能得到它的下工作 - WWW [mysite的] /搜索

我曾嘗試加入到這個Global.asax中>的RegisterRoutes

 routes.MapRoute(
       "Search", 
       "{action}", 
       new { controller = "Search", action = "Index" } 
     ); 
+1

你能告訴我們你的整個的RegisterRoutes方法中的「接觸」的看法? – 2011-02-02 18:48:37

+0

在模型 - 視圖 - 控制器領域,用戶與之交互的唯一一件事就是對控制器的操作。如果您正在討論路由中的默認操作,這與「默認文檔」非常不同。 – bzlm 2011-02-02 19:17:53

回答

1

MVC不使用默認文檔,而是使用默認路由。

您的路線上面告訴我們,默認的頁面,當有人訪問您的網站(http://example.com)將包含在search目錄中的Index視圖。


是得到一個新的MVC項目產生的缺省路由看起來是這樣的

routes.MapRoute(_ 
     "Default", _ 
     "{controller}/{action}/{id}", _ 
     New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional} _ 
    ) 

這意味着你的路由結構,看起來就像

0

通常你不需要這條路線。默認路由應該正常工作,因爲它指定了一個默認的控制器和操作,您可以修改它以符合您的要求。因此如果用戶請求/這個默認的控制器和動作應該被執行。這將在IIS7上開箱即用,但在II6上它不起作用,因爲默認情況下不能有無擴展名的網址。如果您在IIS6上運行,則可以查看以下blog post