控制器由 MVC 框架调用,该框架使用 Global.asax.cs 中定义的路由来确定要调用的控制器和操作。有一个如下所示的默认路由:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
当应用程序收到请求时,会尝试将 URL 解析为路由的格式。如果向 发出请求http://localhost:49565/
,它将使用默认值,该默认值将用于Index
名为 的控制器中的操作HomeController
。当您创建新的控制器时FirstController
, 和 call http://localhost:49565/First
,它使用FirstController
代替 ,HomeController
因为它已被提供(但仍用于Index
操作)。
此外,当一个动作被调用并且没有明确定义视图时,它将寻找一个与被调用动作同名的视图。在你的情况下,它会是~/Views/First/Index.aspx
.
编辑
如果你想使用另一个视图,你可以在 return 语句中指定它
return View("OtherView");
它将~/Views/First/OtherView.aspx
改为使用。