4

我在 ASP.net MVC 中使用编辑器模板。我应该将表单放在编辑器模板内还是模板外?

例子:

里面

~/Views/Products/Create.cshtml

@Html.EditorForModel()   

~/Views/Products/EditorTemplates/CreateProduct.cshtml

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

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

外部

~/Views/Products/Create.cshtml

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

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

~/Views/Products/EditorTemplates/CreateProduct.cshtml

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

2 回答 2

6

虽然这两种方式都不是“错误的”,但我肯定会说外面更好

Aform有助于您的应用程序的流程。当您尝试遵循流程时,通常会进入Controller > View,因此将 aform放入局部视图只会让您头疼。

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

于 2012-01-12T21:00:24.897 回答
1

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

但我宁愿把<form>模板放在外面,这样可以更灵活,如果你把<form>模板放在里面,你可能有嵌套的表单,这在任何浏览器中都不支持。

所以我会为 a 制作一个部分视图,<form>并为简单的编辑器模板制作一个HtmlHelpers

于 2012-01-12T20:12:31.940 回答