updatepanel中加载的usercontrol中的javascript代码

时间:2010-07-14 10:42:12

标签: asp.net-ajax

我有一个updatepanel,其中包含一个linkbutton(如lnk1)和一个面板(如panel1)。每次用户单击link1时,在panel1中动态加载某个用户控件(如uc1)。 在uc1中,我有一个modalpopup,可以通过uc1中的按钮触发。我想在modalpopup中当用户点击背景时,modalpopup会隐藏。我知道这个javascript代码,但不知道它在哪里

javascript代码为:

var backgroundElement = $get("<%= modalpopup.ClientID %>_backgroundElement"); 
$addHandler(backgroundElement, 'click', hidemodalpopup);
  function hidemodalpopup(){
  var modalpopup = $find("<%=modalpopup.ClientID %>"); 
  modalpopup.hide();
}

我想知道这些代码应该放在哪里才能正常运行。

1 个答案:

答案 0 :(得分:0)

我们通常使用StringBuilder和ScriptManager.RegisterStartUpScript创建脚本服务器端并在Page_Load或Init期间注入它。

protected override void OnInit(EventArgs e)
{
   StringBuilder sb = new StringBuilder();
   sb.Append("var backgroundElement = $get('" + modalpopup.ClientID+"_backgroundElement');"); 
   sb.Append("$addHandler(backgroundElement, 'click', hidemodalpopup);");
   sb.Append("function hidemodalpopup(){");
   sb.Append("var modalpopup = $find('" + modalpopup.ClientID + "');"); 
   sb.Append("modalpopup.hide();");
   sb.Append("}");
}