0

基本的なテーブル設定を含むメイン レイアウト ページがあります。RenderBody() を入れるために使用するメイン コンテンツ セルがあります。製品データベースを使用する製品リストがあり、右側にユーザ​​ー データベースにアクセスする必要があるメニューがあります。製品モデルを使用してメイン コンテンツ セルに製品をリストし、ユーザー モデルを使用してメニュー セルに情報をリストするにはどうすればよいですか?

4

2 に答える 2

2

私が使用した唯一の方法 (ただし、ベスト プラクティスの状態については完全には確信が持てません) は、(あなたの場合)productモデルとモデルの両方を含むページのモデルを作成することuserです。これらのモデルをコントローラーに入力し、ビューで通常行うように内部モデルにアクセスします。

于 2012-12-28T21:06:47.487 に答える
2

パーシャルを使用して、コンテンツ セクションをレンダリングできます。

あなたのページがこのモデルを使用していると想像してください:

public class PageModel {
    public string Title { get; set; }
    public ProductListModel Products { get; set; }
}

次に、部分ビューをレンダリングして、そのモデルを渡すことができます。

@Html.Partial( "name of partial view", Model.Products )

もう少しパフォーマンス コストがかかるアプローチは、アクションを呼び出して部分ビューをレンダリングすることです。

public class ProductsController {
    public ActionResult List() {
        var model = new ProductListModel();
        return View( "your partial view", model );
    }
}

そしてあなたの見解では:

@Html.Action( "list", "products" )

後者の方法の利点は、ページ モデルを比較的クリーンに保つことができるため、ページを表示するために必要なすべてのデータを含める必要がないことです。

于 2012-12-28T21:09:56.577 に答える