我正在尝试为在我的页面上进行回发的内容创建加载屏幕,特别是从gridview的行单击中执行回发并导致整个页面加载。我想在页面上添加某种加载页面或加载片段。从googling / stackoverflowing我把它从其他帖子和资源中放在一起。
<script type="text/javascript">
$(function () {
// Get the instance of PageRequestManager.
var prm = Sys.WebForms.PageRequestManager.getInstance();
// Add initializeRequest and endRequest
prm.add_initializeRequest(prm_InitializeRequest);
prm.add_endRequest(prm_EndRequest);
console.log(prm);
// Called when async postback begins
function prm_InitializeRequest(sender, args) {
console.log("init sender " + sender);
}
// Called when async postback ends
function prm_EndRequest(sender, args) {
console.log("end sender: " + sender);
}
});
</script>
<asp:UpdatePanel ID="actAddPanel" runat="server"
updatemode="Conditional"
ChildrenAsTriggers="true">
<ContentTemplate>
<asp:GridView></asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
脚本应该在回发开始和结束时通知我,所以理论上prm_InitalizeRequest
将允许我修改页面上的元素,以便在回发发生时创建自定义加载动画/详细信息并prm_EndRequest
在回发结束时会告诉我,以便我知道何时结束自定义动画/细节。
我使用ChildrenAsTriggers="true"
创建了gridview触发器的行,但是当我进行回发时,我没有看到我的console.log
消息让我知道这些函数实际上已被调用。如何使这些功能起作用?
答案 0 :(得分:0)
我发现为了让这些函数执行,它们需要由一个事件触发。在我的gridview中,我添加了Triggers
,然后我的功能按预期工作。