0

MVC3 C#.Net Web アプリがあります。同じ HTML テーブルを表示する 2 つのビューがあります。ただし、各ビューは異なるモデルを表します。ビュー 1 = "ProposalEdit"、ビュー 2 = "DocEdit"。Proposal モデルと Doc モデルの両方にプロパティがあります。

ICollection<Deliverable> Deliverables.

各編集ビューで、そのビューのモデルに属する成果物を表示します。各編集ビューのコードは同じで、編集ビューの背後にあるモデルのみが異なります。そのため、重複するコードがたくさんあります。

重複コードを減らすためにこれをモジュール化するにはどうすればよいですか?

4

1 に答える 1

1

@マイク、それはまさに私がすることです。ただし、主なポイントは、モデルごとに DisplayTemplates を用意することです。必要に応じて、DateTime オブジェクトでさえ DisplayTemplate を持つことができます。

編集:

成果物モデルのみに DisplayTemplate を使用する例を次に示します。

@model ICollection<Deliverables>

@foreach (var deliverable in this.Model)
{
    @this.Html.DisplayFor(d => deliverable)
}

~\Shared\DisplayTemplates\Deliverables.cshtmlもちろん、下に、または下に編集用のテンプレートを配置することもできます。~\Shared\EditorTemplates\Deliverables.cshtml

于 2012-09-24T19:19:29.573 に答える