繁体   English   中英

将Telerik ASP.NET Ajax RadGrid加载到模式弹出窗口中,并通过Ajax刷新数据而无需页面刷新

[英]Load a Telerik ASP.NET Ajax RadGrid into a Modal Popup and Refresh Data Over Ajax without Page Refresh

我有一个当前实现动态创建的 RadGrid的应用程序。 通过从特定的SQL Server视图读取列和数据类型来生成网格。 我们有许多这样的视图,这就是为什么我们使用动态创建。

每次用户与网格控件(例如,过滤器/分页控件)进行交互时,都会刷新整个页面。 Page_PreInit方法中从头开始重新创建Page_PreInit并使用更新的数据填充。 这是非常差的用户体验,并且还会消耗服务器资源。

我正在浏览Telerik文档,但是找不到我想要实现的清晰示例。 我想知道是否有可能达到以下要求:

  1. 单击页面上的链接将加载Telerik Modal窗口弹出窗口。
  2. 通过对服务器的Ajax POST请求检索Modal弹出窗口的内容-这将创建初始动态网格并返回HTML contenttype。
  3. 一旦加载到模式弹出窗口中,网格HTML结构将变为动态状态,并且在事件触发时仅从服务器返回来自分页或过滤操作的更新数据-最好仅发送JSON以减少传输HTML的带宽开销。

可以使用用于ASP.NET Ajax的Telerik UI来实现此用例吗?

  1. 您可以通过以下方法打开RadWindow: http ://docs.telerik.com/devtools/aspnet-ajax/controls/window/getting-started/opening-windows。 基本上,调用其show()客户端方法。

  2. 最简单的方法是拥有一个aspx页面,该页面将呈现您的网格并在RadWindow中打开它(请参见NavigateUrl属性和setUrl()客户端方法,以及radopen()或open()的第一个参数) )。 RadWindow将为该页面生成一个GET请求。

选项2:使用RadWindow的OnClientShow事件生成POST(例如,通过__doPostBack()MS AJAX函数)并使用RadWindow的ContentTemplate。 请检查以下文章,以了解如何将AJAX与之配合使用: http : //docs.telerik.com/devtools/aspnet-ajax/controls/window/how-to/how-to-use-radwindow-with-ajax

  1. 这是通过第二点的第一个选项自动完成的-内容页面将封装自己的请求。 在Option2中正确的AJAX设置将为您提供相同的设置,但网格将位于您的主页上。

提示:通常,回发用于获取数据。 如果您不希望这样做,请对网格使用客户端绑定: http : //demos.telerik.com/aspnet-ajax/grid/examples/data-binding/client-side/client-data-source-binding/ defaultcs.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM