我有一个主网页,其中使用视图模型我已经建立:ASP.NET MVC IEnumerable的问题进行的RenderPartial
public class HomeViewModel
{
public List<Category> Categories { get; set; }
public List<Image> Images { get; set; }
public HomeViewModel(List<Image> images, List<Category> categories)
{
Images = images;
Categories = categories;
}
}
在我的主页,我outputing类别,但然后通过传递图像至PartialView。
<div id="gallery">
<% Html.RenderPartial("gallery", Model.Images); %>
</div>
当我跑我的工作,我得到这个错误:错误CS0308:
:非通用型“System.Collections.IEnumerable”不能与类型参数这是我的局部视图中使用
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Gallery.Models.Image>>" %>
<%@ Import Namespace="Gallery.Helpers" %>
<ul>
<% foreach (var item in Model)
{ %>
<li>
<%= Html.ImageLink(item.imageID.ToString(), Url.Content("~/Uploads/" + item.imageLocation).ToString(), item.imageDescription, Url.Content("~/Uploads/" + item.imageThumb).ToString(), item.imageDescription, null)%>
</li>
<% } %>
</ul>
我使用.NET 4,这工作得很好,但我知道他们已经改变了泛型,因为它使3.5成为可能。然而我的网络服务器公司并没有升级他们的服务器,这意味着我必须使用3.5进行部署如果我将Partial与Main页面作为相同的对象进行投影,但是我通过的ViewData超出了我需要的范围,我已经获得了Partial的工作。我使用Partials的原因是为了利用.NET框架中的AJAX。例如。类别是AJAX链接转到一个方法,该方法返回更新的部分与类别图像,我应该只需要传递图像到Parial。
任何帮助解决这个将不胜感激。
感谢,
乔恩
啊为时已晚。 +1 – 2010-06-20 18:47:12
感谢您的帮助。这已经解决了这个问题,我还是比较新的.NET主要使用Java之前:-) – 2010-06-20 18:56:53