web-dev-qa-db-ja.com

IEnumerable <T>を使用してモデル内のアイテム数をカウントする方法

モデル内のアイテム数のカウンターを作成できるかどうか疑問に思っていました。リストを使用することは可能ですが、idはプロジェクトの目的でIEnumerableを使用することを好みます。常に更新するためにjavascriptで実行できればさらに良いでしょうが、MVCとJavascriptでは十分な経験がありません。

-コントローラ-

public class ModelController : Controller
{
    private JobData db = new JobData();

    //
    // GET: /Model/

    public ActionResult Index()
    {
        var Model = db.Models.OrderByDescending(model => model.ModelType);
        int count = Model.Count();

        return View(Model.ToList());
    }

-見る-

    @model IEnumerable<JobTracker.Models.Model>

@{
    ViewBag.Title = "Camera Models";
}

 <script type="text/javascript" src="~/Scripts/Table.js"></script>




<table id="tfhover" class="tftable" border="1">  
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.ModelType)
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {


    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.ModelType)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.ModelID }) |
            @Html.ActionLink("Details", "Details", new { id=item.ModelID }) 
          @*  @Html.ActionLink("Delete", "Delete", new { id=item.ModelID })*@
        </td>
    </tr>
}

</table>
5
Matchbox2093

@Model.Count()を使用して、どこにでもカウントを表示できます–(クレジットはコメントセクションから@MukeshModhvadiyaに送られます)

15
Matchbox2093

View for MVC内でModel.Count()を使用しています。 javascriptで必要な場合は、次の方法でこの値を取得できます。

<script type="text/javascript">
var count ='@Model.Count()';
</script>

ビューファイルにスクリプトを作成する必要があります。このコードが機能しない別のjsファイル。別のjsファイルのモデル値にアクセスすることはできません。

1
Jayesh Patel