2012-01-12 57 views
4

我在ASP.net MVC中使用編輯器模板。我應該將表單放入編輯器模板或模板之外嗎?我的表單應該位於編輯器模板的內部還是外部?

實施例:

內部

〜/查看/產品/ Create.cshtml

@Html.EditorForModel() 

〜/查看/產品/ EditorTemplates/CreateProduct.cshtml

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

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

Outside

〜/查看/產品/ Create.cshtml

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

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

〜/查看/產品/ EditorTemplates/CreateProduct.cshtml

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

回答

6

儘管兩人的方法是「錯誤的」編輯模板,我肯定會說,外面是更好

A form有助於您的應用程序的流程。當你試圖追蹤流量時,通常會出現控制器>查看,因此將form置於局部視圖中除了讓您頭疼之外別無它法。

在我的應用程序中,所有form都始終在主視圖頁面中,以便所有編輯器模板和UI元素都不知道應用程序的「流」。

+1

是的,我正在尋找更多的「什麼是最有意義的」答案。你的解釋對我有意義。 – Dismissile 2012-01-12 21:40:09

1

什麼適合你最好的,沒有對與錯回答這個問題。
非框架的HtmlHelper把<form>標籤,而Telerik的網格控件確實把<form>,所以我想這兩種方式都很好。

但是我寧願將<form>放在模板外面,所以它可以更靈活,如果您將<form>放入模板中,您可能會嵌套任何瀏覽器不支持的表單。

所以我會做一個<form>和局部視圖簡單HtmlHelpers

相關問題