2011-09-06 53 views
0

如何檢查asp。網絡控制元素是否存在? 我的頁面實際上沒有ID爲「hyper」的元素,但我只是想驗證這是否存在。如何檢查asp。網絡控制元素是否存在或不使用jQuery?

即時尋找ID爲「hyper」的asp.net元素。

所以我曾嘗試是

if (("#<%=hyper.ClientID %>").exists()) 

if (("#<%=hyper.ClientID %>").length>0) 

,但它給我這個錯誤

'超' 不存在當前上下文

存在名稱
<script type="text/javascript"> 
     function getElement() { 
      if ($('#<%=(hyper.ClientID)%>').length > 0) { 
       alert("none!"); 
      } 
      else 
       alert("exist!"); 

     } 
</script> 

<asp:HyperLink ID="hyper2" runat="server" NavigateUrl="www.facebook.com" >click me</asp:HyperLink> 
+0

也許只是一個錯字,但你的超鏈接是'hyper2',你的代碼正在尋找'超' –

+0

我故意這樣做。假設它會提醒「無」而不是「存在!」。對? – DEN

+0

不好,因爲你的代碼是第一次嘗試獲取服務器控件的客戶端ID –

回答

0

嘗試使用此,

var Id= "<%=hyper.ClientID %>" 
    $('#'+Id).exists() 
+0

它給了我相同的結果 – DEN

0

嘗試

if ($('#<%=(hyper.ClientID)%>').length > 0) { 
    // exists 
} 

$添加到代碼中。

工作示例這裏http://jsfiddle.net/h3UUY/

+0

它給了我相同的結果:( – DEN

+0

什麼是超?你可以發佈你的html標記與.net控制? –

+0

張貼,請看看 – DEN

1

的問題是該元素的「超」不存在,因此「.ClientID」返回一個錯誤。你必須檢查的元素第一:

(VB.Net)

<% If hyper IsNot Nothing Then %> 
    ..: $("<%= hyper.ClientID %>").etc. 
<% End If %> 

(C#)

<% if(hyper != null) { %> 
    ..: $("<%= hyper.ClientID %>").etc 
<% } %> 

我還沒有嘗試過的ASPX頁面內的C#,但VB.Net的作品。

相關問題