4

ASP.netMVCでエディターテンプレートを使用しています。フォームをエディターテンプレートの内側に配置する必要がありますか、それともテンプレートの外側に配置する必要がありますか?

例:

中身

〜/ 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

どちらも「間違っている」わけではありませんが、屋外の方が良いと断言できます。

Aは、アプリケーションの流れformに貢献します。フローに従おうとすると、通常はController > Viewに移動するため、 aを部分的なビューに配置しても、頭が痛くなるだけです。form

私のアプリケーションでは、すべてformの が常にプライマリ ビュー ページにあるため、すべてのエディタ テンプレートと UI 要素はアプリケーションの「フロー」を認識しません。

于 2012-01-12T21:00:24.897 に答える
1

あなたに最も適したものは、この質問に対する正しい答えと間違った答えはありません。
フレームワークのHtmlHelperput<form>タグはありませんが、TelerikのGridコントロールはputし<form>ます。したがって、どちらの方法も適切だと思います。

ただし、テンプレートの外側に配置したい<form>ので、より柔軟になります<form>。テンプレートの内側に配置すると、どのブラウザーでもサポートされていないネストされたフォームが作成される可能性があります。

だから私は<form>単純なためのとエディタテンプレートの部分的なビューを作りますHtmlHelpers

于 2012-01-12T20:12:31.940 に答える