2011-02-02 131 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