如何在视图中使用 IEnumerable 集合调用局部视图
How do I call a partial view with IEnumerable collection in a view
我想在网页滑块页面中显示一个Slider是局部的
<div class="slider">
@Html.Partial("~/Views/slider/slider.cshtml", new IEnumerable<Mvc_baker.Areas.admin.Models.slidShow>)
</div>
我看到这个错误
编译器错误消息:CS0118:'System.Collections.Generic.IEnumerable' 是一个 'type',但像“变量”
一样使用
我正在删除新的 IEnumerable 并将其保留为
@Html.Partial("~/Views/slider/slider.cshtml") in the view
我看到这个错误
异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。
第 6 行:@foreach(模型中的变量项)
第 7 行:{
第 8 行:
此代码视图滑块
@model IEnumerable< Mvc_baker.Areas.admin.Models.slidShow>
@foreach (var item in Model)
{
<ul class="amazingslider-slides" style="display:none;">
<li>
@{
string imageBase64 = Convert.ToBase64String(@item.FImage);
string imageSrc = string.Format("data:image/gif;base64,{0}", imageBase64);
}
<img src="@imageSrc" class="info" width="100" height="50" />
</li>
</ul>
}
这个问题是怎么解决的
您不能使用 new
关键字实例化 IEnumerable<T>
,因为它是一个接口。您可以实例化一个 class 实现该接口,例如
new List<Mvc_baker.Areas.admin.Models.slidShow>()
查看 MSDN 以更好地理解接口
我解决了这个问题
@Html.Action("slidshow", "slider")
public ActionResult slidshow()
{
return PartialView("~/Views/slider/slidshow.cshtml", GetSliderImages());
}
public IList<slidShow> GetSliderImages()
{
var q = db.slidShows.OrderByDescending(x => x.ID_SlidShow).Where(x=>x.st==false);
return q.ToList();
}
我想在网页滑块页面中显示一个Slider是局部的
<div class="slider">
@Html.Partial("~/Views/slider/slider.cshtml", new IEnumerable<Mvc_baker.Areas.admin.Models.slidShow>)
</div>
我看到这个错误
编译器错误消息:CS0118:'System.Collections.Generic.IEnumerable' 是一个 'type',但像“变量”
一样使用我正在删除新的 IEnumerable 并将其保留为
@Html.Partial("~/Views/slider/slider.cshtml") in the view
我看到这个错误 异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。 第 6 行:@foreach(模型中的变量项) 第 7 行:{ 第 8 行:
此代码视图滑块
@model IEnumerable< Mvc_baker.Areas.admin.Models.slidShow>
@foreach (var item in Model)
{
<ul class="amazingslider-slides" style="display:none;">
<li>
@{
string imageBase64 = Convert.ToBase64String(@item.FImage);
string imageSrc = string.Format("data:image/gif;base64,{0}", imageBase64);
}
<img src="@imageSrc" class="info" width="100" height="50" />
</li>
</ul>
}
这个问题是怎么解决的
您不能使用 new
关键字实例化 IEnumerable<T>
,因为它是一个接口。您可以实例化一个 class 实现该接口,例如
new List<Mvc_baker.Areas.admin.Models.slidShow>()
查看 MSDN 以更好地理解接口
我解决了这个问题
@Html.Action("slidshow", "slider")
public ActionResult slidshow()
{
return PartialView("~/Views/slider/slidshow.cshtml", GetSliderImages());
}
public IList<slidShow> GetSliderImages()
{
var q = db.slidShows.OrderByDescending(x => x.ID_SlidShow).Where(x=>x.st==false);
return q.ToList();
}