如何使用IEnumerable <t> </t>计算模型中的项目数

时间:2015-03-24 10:49:07

标签: c# model-view-controller model ienumerable

我想知道是否有可能为模型中的项目数量做一个计数器,我知道使用list是可能的,但id更喜欢使用IEnumerable用于项目目的。如果可以在javascript中进行持续更新,但在MVC和Javascript中没有足够的经验,那会更好。

-Controller -

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>

2 个答案:

答案 0 :(得分:15)

您可以使用@Model.Count()在任何地方显示计数 - (从评论部分转到@MukeshModhvadiya)

答案 1 :(得分:1)

您在View for MVC中使用Model.Count()。如果您在javascript中需要它,您可以通过以下方式获得此值:

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

您必须在View文件中编写脚本。单独的js文件此代码不起作用。我们无法在单独的js文件中访问Model值。