没有控制器可以返回视图吗?

时间:2012-11-19 14:41:30

标签: asp.net-mvc

网站结构如下

site structure

并将配置路由为

public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }

然后我转到http://localhost:23233,它在root中显示index.cshtml,如果我重命名根index.cshtml,它会在views / home文件夹中显示我的索引。我不太明白这一点。是不是所有视图都由控制器返回?有人可以向我解释一下吗?

2 个答案:

答案 0 :(得分:2)

~/Index.cshtml是一个独立的网页,它不需要控制器。您可以使用Web.config上的以下设置禁用网页:

<appSettings>
  <add key="webpages:Enabled" value="false"/>
</appSettings>

答案 1 :(得分:1)

之前没有看过这个,但是根目录中的index.cshtml和default.cshtml会将您的应用程序视为index.html,而default.html曾经在较旧的asp.net应用程序中处理过。对于民间从asp.net迁移到mvc的意义我觉得很有意义。

参考:http://forums.asp.net/t/1577234.aspx/1