【问题标题】:How to Count number of items in model using IEnumerable<T>如何使用 IEnumerable<T> 计算模型中的项目数
【发布时间】:2015-05-27 15:28:13
【问题描述】:

我想知道是否可以对模型中的项目数进行计数器,我知道使用 list 是可能的,但我更喜欢使用 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>

【问题讨论】:

  • 你无处使用'count'!!
  • Model.Count 在控制器方法 Index 中,但是我尝试了许多其他尝试但似乎不起作用
  • 我在问你想在哪里显示计数。如果你想在 action 方法中使用它,为什么不直接使用 Model.ToList().Count(),因为在传递给视图之前你已经将 Model 转换为 List 了,对吧?
  • 哦!是的,我把它列在清单上!对此感到抱歉,我应该如何在视图上显示它?抱歉,如果这是一个愚蠢的问题,我仍在掌握 MVC 及其所有组件
  • 在您看来,您也可以使用@Model.Count() 在任何地方显示计数

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


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    您可以使用@Model.Count() 在任何地方显示计数 - (信用来自评论部分的@MukeshModhvadiya)

    【讨论】:

    • 这仅计算模型而不是其引用,即:在 for 循环中。
    猜你喜欢
    • 2019-02-27
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多