2012-01-12 1 views
4

Я использую шаблоны редактора в ASP.net MVC. Должен ли я помещать форму внутри шаблона редактора или вне шаблона?Должна ли моя форма быть внутри или снаружи моего шаблона редактора?

Пример:

Внутри

~/Просмотров/Продукты/Create.cshtml

@Html.EditorForModel() 

~/Views/Продукты/EditorTemplates/CreateProduct.cshtml

@using(Html.BeginForm()) 
{ 
    @Html.EditorFor(model => model.Name) 

    <input type="submit" value="Save" /> 
} 

Вне

~/Views/Продукты/Create.cshtml

@using(Html.BeginForm()) 
{ 
    @Html.EditorForModel() 

    <input type="submit" value="Save" /> 
} 

~/Views/Продукты/EditorTemplates/CreateProduct.cshtml

@Html.EditorFor(model => model.Name) 

ответ

6

Хотя ни путь «неправильно», я бы определенно сказать, что снаружи лучше.

A form Вклад потока вашего приложения. Когда вы пытаетесь следить за потоком, обычно идет Контролер>View, поэтому помещение form в частичный вид ничего не даст, но даст вам головные боли.

В моем приложении все form s всегда находятся на главной странице просмотра, поэтому все шаблоны редакторов и элементы пользовательского интерфейса не знают о «потоке» приложения.

+1

Да, я больше искал ответ на вопрос «что делает наибольшее количество смысла». Ваше объяснение имеет смысл для меня. – Dismissile

1

Что костюм вы лучше, Существует никакого права и неправильно ответы на этот вопрос.
Некрометр HtmlHelper, помещенный в тег <form>, в то время как управление сеткой Telerik помещает <form>, поэтому я думаю, что оба пути хороши.

Но я бы предпочел разместить <form> вне шаблона, поэтому он может быть более гибким, если вы разместите <form> внутри шаблона, у вас могут быть вложенные формы, которые не поддерживаются ни в одном из браузеров.

, так что я бы частичное представление для <form> и шаблон редактора для простого HtmlHelpers

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