gpt4 book ai didi

javascript - 在 GridView 的分页回调后执行 JavaScript

转载 作者:行者123 更新时间:2023-11-29 10:47:58 25 4
gpt4 key购买 nike

我有一个启用了 EnableSortingAndPagingCallbacks 的 GridView。当用户单击更改页面时,将执行回调并更新 GridView。发生这种情况后,我需要立即运行一个 JavaScript 函数,以便我可以在新的数据页面上执行一些客户端操作。我怎样才能做到这一点?

我发现最接近我的问题的是:How to have a javascript callback executed after an update panel postback? .但是,使用 pageLoad() 函数在这里不起作用,因为 pageLoad() 似乎不会在 GridView 回调后触发。

我需要在 IE7 上使用它,否则我会使用 DOMSubtreeModified 事件监听器。

GridView1_PageIndexChanging 和 pageLoad 不会触发的示例代码。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test_script.aspx.cs" Inherits="test_script" %>

<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>

<form id="form1" runat="server">
<asp:ToolkitScriptManager ID="ScriptManager1" runat="server" ScriptMode="Release" />
<asp:GridView ID="GridView1" runat="server" AllowPaging="true"
EnableSortingAndPagingCallbacks="true" DataSourceID="SqlDataSource1"
OnPageIndexChanging="GridView1_PageIndexChanging" />
</form>
<script type="text/javascript">
function pageLoad(sender, args) {
alert('pageLoad');
}
</script>

代码隐藏:

public partial class test_script : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
// This doesn't fire when EnableSortingAndPagingCallbacks is set to true
}
}

在上面的代码中,pageLoad() 在页面首次加载时触发,但在 GridView 分页后不会触发。在后面的代码中,Page_Load 在 GridView 被分页时触发,但 GridView1_PageIndexChanging() 不会。

如果我将 EnableSortingAndPagingCallbacks 更改为 false,所有函数都会像您预期的那样在每次 GridView 页面更改时触发。

最佳答案

这应该有效:

   Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
Me.GridView1.PageIndex = e.NewPageIndex
BindGridview() 'This is what binds the control
If Not ClientScript.IsClientScriptBlockRegistered(Me.GetType(), "myScript") Then
ScriptManager.RegisterClientScriptBlock(Me.GridView1, Me.GetType(), "myScript", "alert('Done with paging');", True)
End If
End Sub

因为你没有指定语言,所以我使用了第一个用我的 Visual Studio 打开的语言。

关于javascript - 在 GridView 的分页回调后执行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15843329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com