2010-09-10 46 views
0
的ID值

我有這個在我的內容頁:但是我得到空值,如果我嘗試$("#ctl00_cphMaster_CloseButton").JQuery的:如何從主/內容頁獲得ASP.NET

$(document).ready(function() { 
    $("#ctl00_cphMaster_CloseButton").click(function() { 
      jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) { 
       if (r == true) 
        __doPostBack('CloseButton', ''); 
      }); 
      return false; 
     }); 
    }); 
}); 

<uc1:ImageTextButton ID="CloseButton" runat="server" 
      ImageURL="Images/closeIcon.png" 
      Enabled="True" Text="Close" 
      CausesValidation="false" onclick="CloseButton_Click" /> 

UPDATE:

我已經試過這樣:

$("#<%= CloseButton.ClientID %>").click(function() { 

     jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) { 
      if (r == true) 
       __doPostBack('CloseButton', ''); 
     }); 
     return false; 
    }); 
}); 

當我運行我的網頁,它拋出我這個代碼中的錯誤:

$("#ctl00_cphMaster_CloseButton").click(function() { 

     jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) { 
      if (r == true) 
       __doPostBack('CloseButton', ''); 
     }); 
     return false; 
    }); 

這意味着它有正確的ID,但爲什麼它拋出一個錯誤抱怨空

微軟JScript運行時錯誤:「空」爲空或不是對象

UPDATE:

KP建議:

$("#<%= CloseButton.ClientID %>").click(function() { 
      alert("yes"); 
     }); 
}); 
+1

結束我會嘗試在Firefox的測試與Firebug的元素。你會得到一個更有意義的錯誤信息。 IE jscript錯誤信息很糟糕。 – 2010-09-10 14:21:59

+0

你可以刪除點擊功能的內容,只需做一個'alert('按鈕'點擊')''調用。你想確保首先點擊處理程序正在工作,然後確定空錯誤是否是你的代碼。這可能沒有任何關係與錯誤的ID等 – 2010-09-10 14:38:32

+0

@KP:我曾嘗試過你的建議,但我從來沒有達到戒備,我更新我的問題,請看看它。如果那是你的意思。 – 2010-09-10 15:31:13

回答

1

我會去用$( 「[ID $ = CloseButton]」),它匹配與CloseButton

+0

我得到相同的錯誤null; – 2010-09-10 14:16:30

+0

在firebug中運行$(「[id $ = CloseButton]」),如果控制檯顯示找到的元素,那麼問題在代碼中的其他地方。 – bevacqua 2010-09-10 14:50:53

+0

我試過在VisualStudio Qucikwatch中,它返回我「null」,並且在immedidate窗口中也嘗試了同樣的事情。 – 2010-09-10 15:06:30

2

你試圖使用,但的ClientID,物業噸控?

$("#<%= CloseButton.ClientID %>") 
+0

我更新了我的問題。 – 2010-09-10 14:07:48