【问题标题】:Add an event handler to a Telerik RadGrid from JavaScript从 JavaScript 向 Telerik RadGrid 添加事件处理程序
【发布时间】:2013-10-22 22:27:57
【问题描述】:

我想添加一个客户端 JavaScript 事件处理程序,每次在 ASP.NET Telerik RadGrid 上选择或取消选择一行时都会触发该事件处理程序,我需要从 JavaScript 中添加它而无需服务器端代码。 我怎样才能做到这一点?

【问题讨论】:

  • 在声明网格时有什么理由不能这样做? <telerik:RadGrid ID="RadGrid1" runat="server"> <ClientSettings> <ClientEvents OnRowSelecting="RowSelecting" /> </ClientSettings> </telerik:RadGrid>
  • 很遗憾,我只能访问页面上的 JavaScript。其余部分已编译。

标签: javascript asp.net telerik telerik-grid


【解决方案1】:

您可以使用 RadAjaxManager 实现此目的。 ASPX:

 <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" 
            onajaxrequest="RadAjaxManager1_AjaxRequest"></telerik:RadAjaxManager>

JS:

<script type="text/javascript">
    function onclientrowclick(sender, args) {

        $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest();
    }
 </script>

C#:

 protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
            //your code
    }

编辑:

 <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="true" AllowMultiRowSelection="true"  >
      <ClientSettings Selecting-AllowRowSelect="true">
      <ClientEvents OnRowSelecting="OnRowSelecting" OnRowDeselecting="OnRowDeselecting" />
      </ClientSettings>
        </telerik:RadGrid>

JS:

 function OnRowDeselecting(sender, args) {
        alert("deselect");
    }
    function OnRowSelecting(sender, args) {
        alert("select");
    }

【讨论】:

  • 对不起,我应该澄清一下我想调用一个 JavaScript 函数。页面已编译,因此无法添加这样的事件处理程序。
  • 我没听懂你。你需要在服务器端触发一个事件吗?
  • 不,我需要触发一个客户端 JavaScript 事件。就像每当有人选择一行时,都会调用一个函数并传递所选行的数组。
  • 为此,您可以在 radgrid 中使用 OnRowSelecting 和 OnRowDeselectingevent
  • 你能告诉我怎么做吗?接受的答案将是 100% JavaScript。我无法使用服务器端技术。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-21
  • 1970-01-01
相关资源
最近更新 更多