2

ASP MVC のスキャフォールディングは、Index、Create、Update、Delete ビューを作成しますが、実際にはどれほど実用的でしょうか。Create、Update、および Delete ビューの UI コードが重複しているようです。リスト用のビューと追加/編集用の別のビューを用意し、いくつかのスイッチを使用して追加または編集用にビューを適切にフォーマットし、別のビューにリダイレクトせずにリストから削除してビューを編集できるようにする方が実用的ではないでしょうか。 「削除を確認してください...」というメッセージが表示されますか?

誰かがこのようなことをして、いくつかのコード スニペットまたは一般的なケースの T4 スキャフォールディング テンプレートを喜んで共有してくれるなら、それは大歓迎です。

4

1 に答える 1

3

実際、NuGetパッケージのMvcScaffoldingは、CreateOrEdit部分ビューを使用して、まさにそれを実行します。(ここを参照してください。)次に、部分ビューを参照して追加/編集ビューを作成します(それぞれ異なるコントローラーアクションをターゲットにします)。

<fieldset>
    @Html.Partial("_CreateOrEdit", Model)
    <input type="submit" value="Create" />
</fieldset>

もう1つの方法は、デフォルトのMVCスキャフォールド(データ注釈属性を使用してモデルで定義されている)を使用することです。

<fieldset>
    @Html.EditorForModel()
    <input type="submit" value="Create" />
</fieldset>

削除する限り、ビューの下部(またはリスト内)にいつでも2番目のミニフォームを追加できます。

@{ using (Html.BeginForm("Delete", "MyController", FormMethod.Post))
    {
        @Html.HiddenFor(model => model.id)
        <input type='submit' value='Delete' />
    }
}
于 2012-04-25T22:17:31.453 に答える