我需要編寫一個從Master頁面運行的Javascript函數,以便在contenct頁面中找到一個ModalPopup並關閉它。下面的代碼工作,但不是我想要的。我需要使用像mpeEditUser.ClientID這樣的東西,但是我得到了一個錯誤。另外,如果我可以通過它的類型(ModalPopupExtender)找到一個ModalPopup而不知道它的id,那將會很好。任何建議?如何在JavaScript中找到ModalPopupExtender?
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();
}
「* ...但我得到一個錯誤。*」 - 有多有趣。謹慎分享錯誤是什麼? =) – jadarnel27
對不起。我更新了我的問題。基本上我得到了錯誤的CS0103:名稱'mpeEditUser'在當前上下文中不存在。 – GLP