我有一个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();
}
我想知道这些代码应该放在哪里才能正常运行。
答案 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("}");
}