Я работаю над своим первым проектом MVC и до сих пор не могу его полностью понять. Я столкнулся с этой проблемой:
У меня это есть в моем представлении (Home / Index.aspx)
<% using (Html.BeginForm()) { %>
<fieldset>
<p>
<%: Html.TextBox("A")%>
<%: Html.TextBox("B") %>
<%: Html.ActionLink("Submit", "Create", "Home")%>
</p>
</fieldset>
<% } %>
У меня это в моем контроллере (Controllers / HomeController.cs)
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection formValues)
{
return View("Index");
}
Я не менял маршруты по умолчанию в global.asx
Когда я нажимаю "Отправить", я получаю сообщение об ошибке «Ресурс не найден». Однако, если я изменю ActionLink на
<input type="submit" value="Save" />
и метод в контроллере:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection formValues)
{
return View("Index");
}
работает нормально.
Я немного сбит с толку, потому что, если я указываю точное имя метода действия и контроллер в ActionLink (‹%: Html.ActionLink (« Submit »,« Create »,« Home »)%>), зачем ему независимо от того, назову ли я этот метод Create или Index?