Форма ASP.NET MVC без помощников HTML

Я пишу приложение ASP.NET MVC и обнаружил для себя интересную вещь. Когда я использую в представлении:

@using (Html.BeginForm("Login", "Home", FormMethod.Post))

вызывается метод Login класса HomeController. Но если я напишу этот html в View:

<form action="@Url.Action("Login", "Home")" method="post">

(действие формы приводит к тому же действию того же контроллера) вместо этого вызывается действие Index. Почему? В обоих случаях отображается один и тот же HTML-код:

<form action="/Home/Login" method="post">

Спасибо


person o..o    schedule 21.01.2013    source источник


Ответы (2)


там нет ничего плохого. все ожидаемое поведение. @Url.Action("Login", "Home") возвращает строковое представление вашего действия, которое вы там написали.

person DarthVader    schedule 21.01.2013
comment
Да, в моем проекте должна быть какая-то другая проблема, в пустом чистом проекте он работает, как ожидалось ...: / - person o..o; 21.01.2013

Ну, может быть, для других - я купил шаблон html, не за небольшие деньги, но проблема была в том, что кнопка была вне тега формы. Поэтому вместо этого было выполнено действие Index.

person o..o    schedule 21.01.2013