【问题标题】:How to manually trigger a PostBackOnFilter in a Telerik RadGrid?如何在 Telerik RadGrid 中手动触发 PostBackOnFilter?
【发布时间】:2015-08-31 13:32:58
【问题描述】:

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

如果我现在在页面上创建一个自定义按钮,是否可以通过我的按钮触发相同的 PostBack?

【问题讨论】:

    标签: c# asp.net telerik telerik-grid


    【解决方案1】:

    答案会因您使用的 Telerik 版本而异;但是,一般来说,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

    【讨论】:

    • “普通的旧提交应该可以工作”是什么意思?
    • 再次回发是提交一个HTML表单,所以如果你只需要表单数据,那么提交应该没问题。
    • 不幸的是它没有应用过滤器。也许这仅在 AutoPostBackOnFilter 设置为 true 时才有效?
    • 我为答案添加了另一个链接。使用 ajax,您可以触发特定事件,包括 Filter 事件。
    猜你喜欢
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多