2011-01-13 1 views
0

У меня есть модель под названием ComplaintModel:MVC Отображение шаблона не показывая

public class ComplaintModel 
{ 
    private Data.MTAEntities db = new MTAEntities(); 
    public IEnumerable<Complaint> Complaints { get; set; } 
    public void GetAllComplaints() 
    { 
     var complaints = (from c in db.tbComplaints 
          orderby c.CreateDateTime descending 
          select 
           new Complaint() 
            { 
             Comment = c.Complaint, 
             ComplaintID = c.ComplaintID, 
             CreateDateTime = c.CreateDateTime 
            }); 

     Complaints = complaints; 
    } 

На моей странице индекса У меня есть следующий код:

<% Html.DisplayFor(m => Model.Complaints, "Complaint"); %> 

Я довольно много пропускания IEnumerable объекта на мой дисплей Шаблон. В моем шаблоне дисплея:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<MTA.Models.Entities.Complaint>>" %> 
<%@ Import Namespace="MTA.Models.Entities" %> 
<% foreach (Complaint complaint in Model) 
    { 
%> 
<div id="complaint"> 
    <%:complaint.Comment%> 
</div> 

<% 
    }%> 

У меня определенно есть класс Жалобы в моей коллекции, по какой-то причине он не отображается. Я что-то упускаю? Я также не получаю ошибок, из-за которых сложнее понять, что я делаю неправильно. Единственное, что я могу подумать о том, что он потерян, прежде чем он каким-то образом попадет в мой шаблон для показа?

Спасибо!

правок:

Точный путь пользовательский элемент управления является: ~/Просмотров/Главная/DisplayTemplates/Complaint.ascx

Метод контроллера вызовов:

public ActionResult Index() 
{ 
    var model = new MTA.Models.ComplaintModel(); 
    model.GetAllComplaints(); 
    ViewData["model"] = model; 
    return View(model); 
} 
+0

Каков точный путь к 'Complaint.ascx'? – hunter

+0

Можете ли вы опубликовать свой метод действий с контроллером для этого вида? – TheRightChoyce

+0

Спасибо за ответ, я обновил исходный вопрос с дополнительной информацией, которая была запрошена. Спасибо. – TheWebGuy

ответ

0

Как насчет этого? (вместо этого используйте ComplaintModel)

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MTA.Models.Entities.ComplaintModel>" %> 
<%@ Import Namespace="MTA.Models.Entities" %> 
<% foreach (Complaint complaint in Model.Complaints) 
{ 
%> 
<div id="complaint"> 
    <%:complaint.Comment%> 
</div> 

<%}%> 
Смежные вопросы