2

网站结构如下

网站结构

并将路由配置为

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,它在根目录中显示 index.cshtml,如果我重命名根 index.cshtml,它会在视图/主文件夹中显示索引。我不太明白这一点。不是所有视图都由控制器返回吗?谁可以给我解释一下这个?

4

2 回答 2

2

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

<appSettings>
  <add key="webpages:Enabled" value="false"/>
</appSettings>
于 2012-11-19T18:07:59.330 回答
1

以前没有见过,但是根目录中的 index.cshtml 和 default.cshtml 将被视为 index.html ,而 default.html 曾经在旧的 asp.net 应用程序中被处理。我猜对于从 asp.net 迁移到 mvc 的人来说是有意义的。

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

于 2012-11-19T14:48:39.760 回答