首页 文章

如何在Telerik RadGrid中手动触发PostBackOnFilter?

提问于
浏览
1

我有一个telerik radgrid,它包含一些telerik:GridBoundColumns . 到目前为止,他们都将AutoPostBackOnFilter值设置为true . 每当我在其中一个过滤器盒中进入enter时,或者如果我只是离开给定过滤器的焦点,这就会应用过滤器 . 我想删除此功能 . 所以我将AutoPostBackOnFilter设置为“false” .

如果我现在在页面上创建一个自定义按钮有没有办法通过我的按钮触发这个相同的PostBack?

1 回答

  • 1

    答案将根据您使用的Telerik的版本而有所不同; howerver,一般来说,telerik会转出标准的HTML,因此如果要提交表单数据,那么普通的提交应该有效 . Telerik也使用Ajax来处理专门的事件 . 这是一个例子:

    ASPX

    <form id="form1" runat="server">
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
    </telerik:RadScriptManager>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest">
    </telerik:RadAjaxManager>
    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript">
            function clientClick() {
                var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>");
                ajaxManager.ajaxRequest("client");
            }
        </script>
    </telerik:RadCodeBlock>
    <div>
        <asp:Button ID="btnServer" runat="server" Text="Make server AjaxRequest" OnClick="btnServer_Click" />
        <input id="btnClient" type="button" value="Make client AjaxRequest" onclick="clientClick();" />
    </div>
    </form>
    

    代码背后

    protected void btnServer_Click(object sender, EventArgs e)
    {
        RadAjaxManager1.RaisePostBackEvent("server");
    }
    protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        RadAjaxManager1.Alert("AjaxRequest raised from the " + e.Argument);
    }
    

    http://docs.telerik.com/devtools/aspnet-ajax/controls/ajax/server-side-programming/events/onajaxrequest

    http://docs.telerik.com/devtools/aspnet-ajax/controls/grid/control-lifecycle/how-to-fire-command-events

相关问题