2009-04-08 2 views
3

Кажется, что все, что я смотрю на эту тему, либо изменилось с момента релиза, либо сильно отличается от друг друга.Использование форм HTML в ASP.NET MVC?

Я просто хочу создать простую форму на мой взгляд.

Должен ли я использовать методы Html.BeginForm()/TextBox()/EndForm(), или я должен использовать HTML-форму простого jane? Что предпочтительнее?

Это то, что я до сих пор:

<%=Html.BeginForm("Create", "Product", FormMethod.Post); %> 
    <%=Html.TextBox("productTextBox", "Enter a shoe name"); %> 
    <input type="submit" name="createButton" value="Create Me!" />  
<%=Html.EndForm(); %> 

Что такое «правильный» способ создать простую форму с помощью кнопки и текстового поля в ASP.NET MVC и позвольте мне представить данные в форме в/Продукт/Создать действие?

Как получить доступ к данным формы из этого метода? Некоторые люди, похоже, используют «FormCollection», а другие просто используют метод Request.Form. Каким образом я должен использовать?

Может кто-нибудь просветить меня?

ответ

1

Посмотрите на Link. Это немецкий текст, но код должен быть понятным.

5

Помощники формы рекомендуются, поскольку они позволяют вам предоставлять данные о контроллере, действии и других маршрутах, а URL-адрес автогенерируется на основе ваших маршрутов (в Global.asax). Преимущество состоит в том, что если вы решите изменить свои маршруты, вам не нужно обновлять каждый URL вашего сайта.

Единственная причина, по которой я буду использовать фактическую «< форму >», тег был, если мне нужен был дополнительный контроль над разметкой, которую я не смог получить из Html.Form (я не могу придумать пример прямо сейчас) , Даже если вы решите это сделать, вы должны использовать помощник «Url.Action», чтобы получить URL-адрес от данных маршрутизации. Например:

<form action="<%= Url.Action("Create") %>"> 

Что касается вашего второго вопроса, я бы предложил использовать модель Binder. За дополнительной информацией об этом обращайтесь к ScottGu's Blog.

Смежные вопросы