将 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

本文关键字:Ajax 刷新 情况下 窗口 RadGrid NET ASP Telerik 加载 模态      更新时间:2023-09-26

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

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

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

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

这个用例可以通过Telerik UI实现 ASP.NET Ajax吗?

  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

相关文章: