我正在尝试Telerik Kendo ListView
与ASP.NET MVC 4 Web应用程序一起使用,但无法填充它。我跟着Telerik的剑道的ListView控制器和视图的例子,但DataSource
的ListViewBuilder
是没有得到填充。以下是我正在使用的相关代码FooView
:
@model IEnumerable<FooViewModel>
<script type="text/x-kendo-tmpl" id="template">
<div class="Foo">
<h3>#:FooName#</h3>
</div>
</script>
<div class="FooList">
@(Html.Kendo().ListView<FooViewModel>(Model)
.Name("listView")
.TagName("div")
.ClientTemplateId("template")
.DataSource(dataSource =>
{
dataSource.Read(read => read.Action("Foo_Read","Foo").Type(HttpVerbs.Get));
dataSource.PageSize(15);
})
.Pageable()
)
</div>
我希望Foo_Read
在中执行,FooController
但不会。我怀疑这就是为什么Kendo ListView
人口不多的原因。那么,有人可以告诉我为什么我的Foo_Read
动作没有被执行FooController
吗?谢谢。
编辑
我包括了相关的Controller代码,但我只是简化了代码,以查看是否可以使Visual Studio闯入其中,Foo_Read
但没有达到我的断点。
相关的FooController.cs代码:
public class FooController : Controller
{
private Entities db = new Entities();
public ActionResult Foo_Read([DataSourceRequest] DataSourceRequest request)
{
return Json(request, JsonRequestBehavior.AllowGet);
}
}
我想到了。应该是以下内容:
@model IEnumerable<FooViewModel>
<script type="text/x-kendo-tmpl" id="template">
<div class="Foo">
<h3>#:FooName#</h3>
</div>
</script>
<div class="FooList">
@(Html.Kendo().ListView<FooViewModel>(Model)
.Name("listView")
.TagName("div")
.ClientTemplateId("template")
.DataSource(dataSource =>
{
dataSource.Read(read => read.Action("Foo_Read","Foo").Type(HttpVerbs.Get));
dataSource.PageSize(15);
})
.BindTo((IEnumerable<FooViewModel>)ViewData["listView"])
.Pageable()
)
</div>
注意.BindTo((IEnumerable<FooViewModel>)ViewData["listView"])
我添加的。显然,这有所作为。不过,不确定原因。Telerik的示例没有这条线。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句