我試圖在JavaScript中檢索服務器控件。出於測試目的,我從頁面加載事件調用JavaScript函數。ASP.NET document.getElementById('<%= Control.ClientID%>');返回null
protected void Page_Load(object sender, EventArgs e){
ClientScript.RegisterClientScriptBlock(GetType(), "js", "confirmCallBack();", true);
}
我的JavaScript函數是
function confirmCallBack() {
var a = document.getElementById('<%= Page.Master.FindControl("PlaceHolderContent").FindControl("Button1").ClientID %>');
var b = document.getElementById('<%=Button1.ClientID%>');
}
我的問題是,無論是A和B返回NULL。即使當我查看頁面源時,也會返回正確的ClientID。
我應該補充說我正在使用母版頁。
任何想法。
我也會盡力去完成你想要什麼,但對於一個快速的答案,爲什麼不您嘗試通過頁面加載中的參數傳遞Id? confirmCallBack(Button1.ClientID); – 2012-01-13 01:18:15
簡單的答案是不要使用自動生成的ASP ids – Raynos 2012-01-13 01:20:41