【发布时间】:2014-11-04 13:41:11
【问题描述】:
我对 Razor 引擎完全陌生,所以我的问题可能看起来很傻。反正。我需要在主视图中使用局部视图,并且我正在传递继承 IQueryable 接口的模型。 看起来像这样:
@{Html.RenderPartial("~/Views/comments/Details.cshtml", new IQueryable<BlogAspNetMVC.Models.comments>);}
局部视图模型:
@model IQueryable<BlogAspNetMVC.Models.comments>
我应该如何更改 RenderPartial 才能接受此模型作为参数?
附: 这是 cmets 模型:
public partial class comments
{
public int ID { get; set; }
public string Comment { get; set; }
public Nullable<int> Author { get; set; }
public Nullable<System.DateTime> Posted { get; set; }
public Nullable<int> PostID { get; set; }
public virtual blog_post blog_post { get; set; }
}
这里是 Icmets 界面:
public interface IComments : IDisposable
{
IQueryable<comments> GetPostComments(int postid);
//void Add(comments comment);
//void Update(comments comment);
//void Remove(int id);
}
这是如何在存储库中实现的:
public IQueryable<comments> GetPostComments(int postid)
{
var all = from a in db.comments
orderby a.Posted descending
where a.PostID == postid
select a;
return all.AsQueryable();
}
【问题讨论】:
-
BlogAspNetMVC.Models.comments的类型是什么? -
我还应该补充一点,一个已经是复数的项目有一个
IQueryable是不寻常的。这类似于拥有一组集合,在这种情况下可能没有意义。 -
似乎没有 IQueryable 我不能使用 foreach 语句,因为它不支持 GetEnumerator()。
-
调用 RenderPartial 的视图的模型是什么?
标签: c# asp.net-mvc asp.net-mvc-4 razor