我是MVC应用程序的新手。我的问题是vs给我一个类似的错误。 “无效的数据源类型。数据源必须是IListSource,IEnumerable或IDataSource类型。”
**我想在这个场景中做的是using this sample对我的权利进行分页。 这是我的观点
@(
Html.X().Panel()
.ID("ImagePanel")
.Cls("images-view")
.Frame(true)
.Width(535)
.Collapsible(true)
.Title("URUNLER")
.Items(
Html.X().DataView()
.ID("ImageView")
.Store(
Html.X().Store()
.RemotePaging(true)
.AutoLoad(false)
.ID("Store1")
.PageSize(5)
.DataSource(Model)
.Model(
Html.X().Model()
.IDProperty("ID")
.Fields(
Html.X().ModelField().Name("Ad"),
Html.X().ModelField().Name("Aciklama")
)
)
.Proxy(Html.X().AjaxProxy()
.Url(Url.Action("Read"))
.Reader(Html.X().JsonReader().Root("data").TotalProperty("data.TotalRecords"))
)
)
.EmptyText("")
.TrackOver(true)
.Tpl(
Html.X().XTemplate()
.Html(
@<text>
<tpl for=".">
<div class="thumb-wrap" id="{Ad}">
<div class="thumb"><img src="{Ad}" title="{Ad}"></div>
<span class="x-editable">{Aciklama}</span>
</div>
</tpl>
<div class="x-clear"></div>
</text>
)
)
)
.BottomBar(
Html.X().PagingToolbar().StoreID("Store1").HideRefresh(true)
)
)
和我的控制者
public ActionResult Index()
{
return View();
}
public ActionResult Read(StoreRequestParameters parameters)
{
int TotalRecords;
int start = parameters.Start;
int limit = parameters.Limit;
string sort = "1";
return this.Store(PlantsPaging(start, limit, sort, out TotalRecords));
}
public Paging<Urun> PlantsPaging(int start, int limit, string sort, out int TotalRecords)
{
Urun_BLL urun_bll = new Urun_BLL();
var data = urun_bll.Getir(start, limit, sort, out TotalRecords);
return new Paging<Urun>(data, TotalRecords);
}
答案 0 :(得分:1)
由于您是通过AjaxProxy加载数据并且没有将任何Model传递给View,因此您应该删除它:
.DataSource(Model)
在运行时它是:
.DataSource(null)
是的,它抛出异常,因为它不是Store的DataSource所期望的。