0

DBから取得したデータを使用してHTMLテーブルを作成しようとしています...

これが私のモデルです...

public class PopulationModels
{
    public List<PopulationModel> Populations { set; get; }
}

これは単にリストです...

public class PopulationModel
{
    public string populationID { set; get; }

    public string PopName { set; get; }

    public string Description { set; get; }

    public string PopulationType { set; get; }

    public Boolean isActive { set; get; }

    //public List<XSLTACOData> patients { set; get; }
}

私はこのモデルを私の見解にそのように渡します...

IEnumerable<PopulationModels> PopModel = DataRepo.Get(userName);
return View(PopModel);

私は次のようにリストを表示しようとしています...

@foreach (var item in Model) {
<tr>
    <td class="rowControl hidden">
        @*<a href="#makeRowEditable" class="makeRowEditable">Edit</a>*@ |
        @*<a href="#deleteRow" class="deleteRow">Delete</a>*@
        @Html.DispalyFor(modelItem => item.Populations)
    </td>
</tr>
}

しかし、モデルの個々の要素にアクセスする方法を理解するのに苦労しています...

例えば

@Html.DispalyFor(modelItem => item.Populations)

上記のコード行では、個々のpopulationModelを取得し、各フィールドの列をマップしたいと思います...しかし、個々の集団にアクセスできないようです...ここで論理的なステップが欠落していますか(明らかに、しかしどのステップ?)

更新:ビューのいくつかを追加する:私は今テーブルを取得していますが、それを行う方法は直感に反しているようです...

これが私のモデルです...

 @model IEnumerable<FocusedReadMissionsRedux.Models.PopulationModels>

これが私のテーブルの作成方法です(データにアクセスするための確実な方法が得られたらすぐに、jqGridのtableToGrid機能を使用することを計画しています...

<table border="2">
<thead>
  <tr>
  <th>
    Population Name
  </th>
   <th>
    Population Description
  </th>
  </tr>
</thead>
@foreach(var item in Model){
foreach (var pop in item.Populations)
{
<tr>
    <td class="rowControl hidden">
        @Html.DisplayFor(modelItem => pop.PopName)
        @Html.ActionLink(pop.PopName,"","")
    </td>
    <td>
        @Html.DisplayFor(modelItem => pop.Description)
        @Html.Display(pop.Description)
    </td>
</tr>
}

}

4

2 に答える 2

1

ビューの完全なコードを投稿しなかったため、ビューでバインドするオブジェクトの種類を次のように定義する必要があります。

@model IEnumerable<PopulationModels>

次に、foreachを使用してループし、次を使用して現在のアイテムにバインドできます。

@Html.DisplayFor(x => x.Popname)
于 2012-05-22T16:07:15.853 に答える
0

まず..適切な命名規則は、名前を変更することです

PopulationModels

PopulationList

これは、モデルの目的についての洞察をあなたの後ろにやってくる他のプログラマーに与えるものです。

モデルを持ち込みます:

@model Models.PopulationList

次に、foreachまたはforループを使用してモデルリストをループできます。

<table>
    <thead>
        <tr>
            <th>Population Name</th>
            <th>Population Description</th>
        </tr>
    </thead>
    <tbody>
    @foreach(Population pop in PopulationList)
    {
       <tr>
          <td>@Html.DisplayFor(model => pop.PopName)</td>
          <td>@Html.DisplayFor(model => pop.PopDesc)</td>
       </tr>
    }
    </tbody>
 </table>

モデルのリストでモデルを反復処理しているため、必要なforeachループは1つだけです。

これが将来の参考になることを願っています!

于 2013-11-06T13:45:31.620 に答える