无效的数据源类型。数据源必须是IListSource,IEnumerable或IDataSource类型

时间:2014-06-24 19:08:45

标签: ext.net

我是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);
        }

1 个答案:

答案 0 :(得分:1)

由于您是通过AjaxProxy加载数据并且没有将任何Model传递给View,因此您应该删除它:

.DataSource(Model)

在运行时它是:

.DataSource(null)

是的,它抛出异常,因为它不是Store的DataSource所期望的。