0

これは私が非常に長い間取り組んできた問題であり、役に立ちませんでした。

基本的に、ユニットとトレードの 2 つのモデルがあります。必要なのは、ユニットのビューにいるときで、ユニットのページ付きリストが返されます。私が欲しいのは、各ユニットの Trade.Name = model.Name を持つ Trades のエントリ数のカウントを返すテーブルへの追加の列です。

私が抱えている最初の問題は、1 つのビューから 2 つのモデルにアクセスすることです。検索に基づいてたくさんのことを試しましたが、何も機能させることができないようです。

2 番目の問題は、実際にカウントを行う方法です。ビューから直接 Linq を使用することは可能ですか? これまでのところ、私にとってはうまくいきませんでした。

事前に感謝するか、何か助けてください!

ユニット ビューの重要な部分:

@model PagedList.IPagedList<FTv2.Models.Unit>

<table style="border-width: 1px; border-color:#000000; border-style: solid; border-top: 2px; border-top-color:#000000; border-top-style: solid;">
    <tr>
        <th></th>
        <th>Name</th>
        <th>Type</th>
        <th>Skill</th>
        <th>Rating</th>
    </tr>

@foreach (var item in Model) {

    <tr>
        <td>
            @{ ViewBag.ImgUrl = item.Name + ".png";}
            <a href="/Images/@ViewBag.ImgUrl" data-lightzap="" ><img src="/Images/@ViewBag.ImgUrl" HEIGHT="66" WIDTH="50" ></a>
        </td>
        <td>
            <a href="/ActiveTrades?Name=@item.Name">@Html.DisplayFor(modelItem => item.Name)</a>
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Type)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Skill)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Rating)
        </td>
        <td>
            <!-- this is where I would want the count to go. -->
        </td>
    </tr>
}
</table>

最終号、ビューに結果が表示されません。

コントローラーの関連部分は次のとおりです。

    var units = db.Units;
    var students = db.Units.Select(u => new UnitViewModel()
    {
        Unit = u,
        TradeCount =
               db.Movies.Where(t => t.Name == u.Name).Count()
    });
    return View(students.ToPagedList(pageNumber, pageSize));
4

1 に答える 1