jquery与更新面板

时间:2010-08-04 13:46:18

标签: c# javascript asp.net jquery updatepanel

使用jquery上下文菜单和更新面板时遇到问题。我正在使用htmlTextWriter在Customtextbox控件的RenderBeginTag中编写上下文菜单的javascript。一切正常,我可以右键单击每个文本框,然后出现菜单 但是当我使用asp.net更新面板分割部分回发时,菜单将不会显示。似乎jquery和html之间的绑定在部分回发时丢失了 除了在RenderBeginTag之外,还有更好的方法来放置动态javascript代码吗?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

你是对的,updatepanel将删除你的javascript绑定。

在您的updatepanel回发中,重新注册相关的javascript。

类似的东西:

ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(typeof(Page), "ReApplyJavascript", "<script type=text/JavaScript>YourJavascriptInitMethod();</script>", false);

如果这不起作用。您可能需要使用:

   ScriptManager.RegisterStartupScript(Page, typeof(Page), "ReApplyJavascript", "<script type=text/JavaScript>YourJavascriptInitMethod();</script>", false);

答案 1 :(得分:1)

您需要在UpdatePanel更新后重新初始化。

<script type="text/javascript"> 
var prm = Sys.WebForms.PageRequestManager.getInstance();    
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);

function InitializeRequest(sender, args) {      
}

function EndRequest(sender, args) {
     // Here initialize the menou
}
</script>