我有一个名为ComplaintModel的模型:
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>
<%
}%>
我的收藏中肯定有一个投诉类,由于某种原因它没有显示。我错过了什么吗?我也没有得到任何错误,这使我更难弄清楚我做错了什么。我能想到它在以某种方式进入我的显示模板之前就已经丢失了吗?
谢谢!
编辑:
用户控件的确切路径是:〜/ Views / Home / DisplayTemplates / Complaint.ascx
控制器方法调用:
public ActionResult Index()
{
var model = new MTA.Models.ComplaintModel();
model.GetAllComplaints();
ViewData["model"] = model;
return View(model);
}
答案 0 :(得分: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>
<%}%>