【发布时间】:2012-01-24 15:13:41
【问题描述】:
我需要编写一个从母版页面运行的 Javascript 函数,以在内容页面中找到一个 ModalPopup 并关闭它。以下代码有效,但不是我想要的。我需要使用 mpeEditUser.ClientID 之类的东西,但出现错误。此外,如果我能在不知道其 id 的情况下,通过其类型 (ModalPopupExtender) 找到 ModalPopup,那就太好了。有什么建议吗?
function CloseModalPopup() {
var mpu = $find('ctl00_ContentPlaceHolder1_mpeEditUser');
mpu.hide();
}
这是我的解决方案:(如果您发现任何问题,请告诉我。谢谢) 我在代码隐藏中获取 ModalPopup id,并将其传递给我的 javascript 函数。
在default.master.cs的Page_Load中:
ContentPlaceHolder cph = (ContentPlaceHolder)FindControl("ContentPlaceHolder1");
string sMpeID = (AjaxControlToolkit.ModalPopupExtender)cph.FindControl("mpeEditUser");
在我的 Javascript 函数中:
var mpe = $find('<%=sMpeID%>');
if (mpe != null) {
mpe.hide();
}
【问题讨论】:
-
"...但我遇到了一个错误。" - 多么有趣。愿意分享错误是什么? =)
-
对不起。我更新了我的问题。基本上我得到了一个错误 CS0103:名称 'mpeEditUser' 在当前上下文中不存在。
标签: javascript asp.net master-pages modalpopupextender