Контроллер вызывается фреймворком 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
и позвоните по номеру http://localhost:49565/First
, он использует FirstController
вместо HomeController
, так как он был предоставлен (но все равно для действия Index
).
Кроме того, когда действие вызывается и явно не определено явно, он будет искать представление с именем так же, как вызванное действие. В вашем случае это будет ~/Views/First/Index.aspx
.
EDIT
Если вы хотите использовать другой вид вы можете указать его в обратном заявлении
return View("OtherView");
и он будет использовать вместо ~/Views/First/OtherView.aspx
.
Добро пожаловать в stackoverflow. Ваш вопрос о MVC находится на очень, очень элементарных элементах структуры. Я бы посоветовал вам взглянуть на одно из многих учебников для начинающих в Интернете, прежде чем отправлять вопросы здесь. Например: http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3 – Faust
Добро пожаловать на мой первый вопрос в SO. Это очень специфический вопрос после чтения руководств MVC. Ты знаешь ответ? – Nilish