我在ASP.net MVC中使用编辑器模板。我应该将表单放在编辑器模板内还是模板外?
示例:
内
〜/查看/产品/ Create.cshtml
@Html.EditorForModel()
〜/查看/产品/ EditorTemplates / CreateProduct.cshtml
@using(Html.BeginForm())
{
@Html.EditorFor(model => model.Name)
<input type="submit" value="Save" />
}
外部
〜/查看/产品/ Create.cshtml
@using(Html.BeginForm())
{
@Html.EditorForModel()
<input type="submit" value="Save" />
}
〜/查看/产品/ EditorTemplates / CreateProduct.cshtml
@Html.EditorFor(model => model.Name)
答案 0 :(得分:6)
虽然两种方式都不“错”,但我肯定会说外部更好。
form
有助于您的应用的流程。当您尝试遵循流程时,通常会 Controller &gt; 查看,因此将form
放入局部视图只会让您头疼。
在我的应用程序中,所有form
始终位于主视图页面中,因此所有编辑器模板和UI元素都不知道应用程序的“流程”。
答案 1 :(得分:1)
什么最适合你,这个问题没有正确和错误的答案
非框架的HtmlHelper放置<form>
标签,而Telerik的网格控件放置<form>
,所以我猜两种方式都很好。
但我宁愿将<form>
放在模板之外,所以它可以更灵活,如果你将<form>
放在模板中,你可能会嵌套任何不支持的表单。浏览器。
所以我会为<form>
和简单HtmlHelpers