网站结构如下
并将配置路由为
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文件夹中显示我的索引。我不太明白这一点。是不是所有视图都由控制器返回?有人可以向我解释一下吗?
答案 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的意义我觉得很有意义。