我试图创建一个使用ASP.NET MVC 2这说明了两点页:Telerik的电网与阿贾克斯
1. the upper half of the page should show a form
2. the lower half should show the results based on the information from the form
我试着用Ajax.BeginForm做和更新的下半部分页面使用UpdateTargetId。基本上,这工作。但是,结果还包含可分页的Telerik网格。这是麻烦开始的地方。
网格主要显示得很好,但当我尝试浏览网格页面时,它开始出错。普通(非Ajax)网格使用链接。如果我使用网格的这种变体,我会陷入麻烦,因为链接请求一个新页面,该页面不包含任何来自窗体的信息,因此我得到一堆错误。
如果我打开Ajax,它不起作用,因为它不适用于通过Ajax检索的部分视图(脚本标记在这种情况下不起作用)。在这种情况下,我只是得到一个呈现为纯文本的JSON结果对象。
如果我把它放在一个页面上,我也可以使它工作。但出于某种原因,网格不会使用Ajax。在索引视图我用下面的代码来呈现网格:
Html.Telerik().Grid<FoobarListItem>()
.Name("Foobar")
.DataBinding(dataBinding => dataBinding.Ajax().Select("_Paging", "Foobar"))
.ToolBar(commands => commands
.Custom()
.HtmlAttributes(new { id = "export", onclick = onclickValue })
.Text(Html.Alias("default", "ExportCSV"))
.Url("#")
)
.Columns(columns =>
{
//Template column which shows an action link
columns.Bound(o => o.Datum);
columns.Bound(o => o.VerbruikLaag);
columns.Bound(o => o.VerbruikNormaal);
columns.Bound(o => o.VerbruikPiek);
})
.Scrollable(scrolling => scrolling.Height(200).Enabled(false))
.Pageable()
.Localizable("nl-NL")
.Render();
}
但我是否把Ajax的数据绑定或没有,它仍然呈现以同样的方式表。有没有人有一个想法,我要去哪里错了?
我读到了,但代码不适合我。 – Pieter 2011-01-27 07:43:11