文件夹下的MVC默认文件

时间:2011-02-02 18:00:31

标签: asp.net-mvc asp.net-mvc-routing

因此,在IIS中,您可以将所有站点文件夹的默认文档设置为“index.aspx”。

在MVC中,我如何在a)所有目录中执行此操作,或者b)一次一个目录失败。

我在[查看] / [搜索] / [index.aspx]

中有一个页面

此网址有效 - www。[mysite] / search / index 但是我无法在 - www。[mysite] / search

下工作

我已尝试将此添加到global.asax>的RegisterRoutes

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

2 个答案:

答案 0 :(得分:1)

MVC不使用默认文档,而是使用默认路由。

上面的路线向我们显示,当有人访问您的网站(http://example.com)时,默认页面将是Index目录中包含的search视图。


使用新MVC项目生成的默认路由如下所示

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

这意味着您的路由结构看起来像

答案 1 :(得分:0)

通常你不需要这条路线。默认路由应该可以正常工作,因为它指定了一个默认控制器和操作,您可以根据需要进行修改。因此,如果用户请求/,则应执行此默认控制器和操作。这将在IIS7上开箱即用,但在II6上它将无法正常工作,因为默认情况下你不能拥有无扩展名的URL。如果您在IIS6上运行,可以查看以下blog post