【发布时间】: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