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