2015-03-24 1 views
2

Мне было интересно, можно ли делать счетчик для количества элементов в модели, я знаю, используя список, это возможно, но id предпочитают использовать IEnumerable для проекта цель. было бы даже лучше, если бы это можно было сделать в javascript для постоянного обновления, но им не было достаточно опыта в MVC и Javascript.Как подсчитать количество элементов в модели, используя IEnumerable <T>

-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()); 
    } 

-View-

@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> 
+0

вы используете не «COUNT» нигде !! –

+0

Model.Count находится внутри метода контроллера Index, однако ive попробовал множество других попыток, но, похоже, не работает – Matchbox2093

+0

Я спрашиваю, где вы хотите отобразить счет. Если вы хотите его использовать в методе действий, почему бы вам просто не использовать Model.ToList(). Count(), потому что вы уже конвертируете модель в список перед переходом на просмотр, не так ли? –

ответ

11

Вы можете просто использовать @Model.Count() для отображения рассчитывать в любом месте - (заслуга @MukeshModhvadiya из секции комментария)

0

Вы использовать Model.Count() внутри View для MVC. Если вам это нужно в javascript, вы можете получить это значение следующим образом:

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

Вы должны написать скрипт в файле вида. отдельный файл js этот код не работает. Мы не можем получить доступ к значению модели в отдельном файле js.