我正在尝试在 ASP.Net Microsoft AJAX 回发后执行 JQuery。
当用户单击链接时,Microsoft AJAX 用于更新数据库中的某些字段,如果成功,则会出现一个标签,通知用户已进行更改。不幸的是,标签不是很明显,我想用它来将背景从红色淡化为白色。
问题是当在标签上设置 visible=false 时,生成的 html 不包含标签(跨度)。有谁知道在 ASP.Net Microsoft AJAX 回发后如何执行 JQuery,或者其他解决方案来实现相同的效果?
我正在尝试在 ASP.Net Microsoft AJAX 回发后执行 JQuery。
当用户单击链接时,Microsoft AJAX 用于更新数据库中的某些字段,如果成功,则会出现一个标签,通知用户已进行更改。不幸的是,标签不是很明显,我想用它来将背景从红色淡化为白色。
问题是当在标签上设置 visible=false 时,生成的 html 不包含标签(跨度)。有谁知道在 ASP.Net Microsoft AJAX 回发后如何执行 JQuery,或者其他解决方案来实现相同的效果?
这是在 ASP.NET Ajax 回发后执行随机 javascript 的方法
function executeThis(){
//code here to fade in out the label that comes
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.remove_pageLoaded(executeThis); //job done, remove this so that it is not fired again.
}
$("link").click(function(){
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_pageLoaded(executeThis); //this will register executeThis function with MS Ajax libraries which will fire it after next posback
//the post back happens here.
});
你可以在回发中试试这个
ScriptManager.RegisterStartupScript(Me.Form, Me.GetType(), "FunctionName", "FunctionName();", True)
这将在回发完成后调用 javascript 函数 FunctionName()
有点像@Nikhil 所说的,非常相似的东西和我一直使用的东西:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(functionName)
functionName
包含您想要调用的任何内容的函数的名称在哪里。这确保了每当重新加载/刷新页面/面板时都会调用该函数。
这里有一些伪代码可以帮助您:
在页面加载时,执行以下操作:
ScriptManager.RegisterStartupScript(Me.Form, Me.GetType(), "ShowError", "ShowError();", True);
在您的 Javascript 中,添加以下内容:
函数 ShowError() { $('#myLabelID').show().fadeOut(); }