Javascript ASP gridview的重新加载事件
我正在尝试修复使用asp GridView的旧asp.net应用程序中的一些问题。有几个事件绑定到网格。比如说sort、row click等。我想在加载/重新加载完成后执行一些js函数(比如在使用header click等进行排序之后) 我试过了Javascript ASP gridview的重新加载事件,javascript,jquery,asp.net,gridview,reload,Javascript,Jquery,Asp.net,Gridview,Reload,我正在尝试修复使用asp GridView的旧asp.net应用程序中的一些问题。有几个事件绑定到网格。比如说sort、row click等。我想在加载/重新加载完成后执行一些js函数(比如在使用header click等进行排序之后) 我试过了 JQuery的ready函数,它只在页面加载时启动 将脚本块放置在网格旁边 将RegisterStartupScript置于grid_排序中(数据绑定发生的位置) 在排序后重新加载网格时,它们都不会触发。服务器端事件始终会导致整个页面生命周期。但是如果
在排序后重新加载网格时,它们都不会触发。服务器端事件始终会导致整个页面生命周期。但是如果混合中有
UpdatePanel
s,那么您可能会得到部分页面回发,这不会触发页面加载事件。请记住,不管发生什么情况,整个页面生命周期都会发生
当您想在处理某种服务器端事件后执行一些客户端代码时,需要一种在页面完全呈现后将一些信息传递给JS/jQuery的方法。通常这是通过使用一个或多个
控件来完成的
通常我会将它的clientMode设置为static,以使JS方面的工作更轻松。例如,如果您有以下内容:
<asp:HiddenField ID="hfSomeData" runat="server" ClientIDMode="Static"
Value="Something set after handling some gridview event"
以下代码将根据jquery就绪事件或endRequest
调用执行PostBackHandler
,调用由UpdatePanel
部分页面更新发出
// Handle Full Page postbacks
$(function () {
PostbackHandler(0);
});
// Handle Partial Page postbacks
// i.e. when Gridview embedded in an UpdatePanel
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function(sender, args){
PostbackHandler(1);
});
//PostBackType : 0 for Full Postback
// : 1 for Partial Postback
function PostbackHandler(PostBackType) {
var passed_in_data = $("#hfSomeData").val();
if (PostBackType === 0)
// do postback stuff
else
// do partial postback stuff
}
// Handle Full Page postbacks
$(function () {
PostbackHandler(0);
});
// Handle Partial Page postbacks
// i.e. when Gridview embedded in an UpdatePanel
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function(sender, args){
PostbackHandler(1);
});
//PostBackType : 0 for Full Postback
// : 1 for Partial Postback
function PostbackHandler(PostBackType) {
var passed_in_data = $("#hfSomeData").val();
if (PostBackType === 0)
// do postback stuff
else
// do partial postback stuff
}