0

Hello All: 私は MVC の一部に苦労してきました。特に、ビューにモデル データ/エンティティを表示する必要がある複数のサイド バイ サイド div がある場合に、ビューでコントローラーからのデータを使用しています。

Left Div (クライアント 1) Right Div (クライアント 2) Left Div (クライアント 3) Right Div (クライアント 4)

コントローラーからビューに単純なモデルを渡しています。どのように試しても、モデル内の「エンティティ」/行にアクセスする唯一の方法は、foreach を介してそれらを順次反復することです。モデル データを IEnumerable から配列に変換し、エンティティ [ n ] を取得することにより、インデックス値で「エンティティ」を取得する必要があります。

これは可能ですか、それともビューとモデル データの関係を理解し​​ていませんか。

これが私のコントローラーです:

    public ActionResult ClientView()
    {

    return View("ClientView", db.Clients.ToList());

私のモデルは、ナビゲーションのない典型的なクライアント プロパティの単純なリストです: FirstName、LastName、Address など。ビューでは、クライアント 1 を左側の div に、クライアント 2 を右側の div に取得しようとしています。新しい行と最初からやり直します。

よろしくお願いします

アレン

4

1 に答える 1

1

ビューが List に強く型付けされているとします。

@Model List<MySoftware.Models.Client>

次に、インデックスでクライアントにアクセスできます。

Model[0]
Model[1]
Model[2]

これが可能なのは、IList インターフェイスを使用すると、配列のようにインデックスでアイテムを取得できるためです。配列は... まあ... 少し古風なので、リストは一般的に推奨される方法です。

ただし、これは実際には UI 表示の問題であるため、代わりに単純に UI コードに組み込むことをお勧めします。何かのようなもの:

@Model IEnumerable<MySoftware.Models.Client>

var i = 0;
foreach (var client in Model)
{
    <div> [client details] </div>
    i++;
    if (i % 2 == 1)
        <br/>
}
于 2013-11-13T00:27:15.760 に答える