我的表单应该在我的编辑器模板内部还是外部?

时间:2012-01-12 19:48:46

标签: asp.net-mvc mvc-editor-templates

我在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)

2 个答案:

答案 0 :(得分:6)

虽然两种方式都不“错”,但我肯定会说外部更好

form有助于您的应用的流程。当您尝试遵循流程时,通常会 Controller &gt; 查看,因此将form放入局部视图只会让您头疼。

在我的应用程序中,所有form始终位于主视图页面中,因此所有编辑器模板和UI元素都不知道应用程序的“流程”。

答案 1 :(得分:1)

什么最适合你,这个问题没有正确和错误的答案 非框架的HtmlHelper放置<form>标签,而Telerik的网格控件放置<form>,所以我猜两种方式都很好。

但我宁愿将<form>放在模板之外,所以它可以更灵活,如果你将<form>放在模板中,你可能会嵌套任何不支持的表单。浏览器。

所以我会为<form>和简单HtmlHelpers

的编辑器模板制作部分视图