2011-09-18 77 views
0

這個問題可能對某些人聽起來很愚蠢,但我只能確認一下。從客戶端引用asp服務器控件

iv'e得到了控制,其是不可見的(可見=假) 我希望它成爲下例如某些條件onmoueover某一文本框的可見,

我可以執行客戶端事件,如本在服務器控件上?

iv'e注意到,如果控件設置爲在服務器上運行,我甚至不能提供onmouseover事件。

總結一下,有沒有一種方法可以讓客戶端看到服務器控件可見,而不必將 回發到服務器。

感謝回答過,但我遇到了一個新問題:

我的控制是放置在內容頁面內的日曆,

當我在一個文本框,單擊我希望它出現但是當它被設置爲可見=假 客戶端腳本無法找到它:

 function Show_Calander() { 
     debugger; 
     var c = document.getElementById('<%= calander1.ClientID %>'); 
     c.visible = true; 
    } 

    <input type="text" id="txt_date" runat="server" onclick="Show_Calander();"/> 
    <asp:Calendar ID="calander1" runat="server" Visible="False"></asp:Calendar> 

我能做到這一點的形式在服務器端,但我只是想增加不會對服務器性能爲每一個小薄G。

任何想法我可以做到這一點?

回答

2

是的,這當然可以使用JavaScript。每個控件都有一個ClientID屬性,可用於從javascript中引用它。下面是使用jQuery如何使一個特定的Asp.Net控制可見click事件一個簡單的例子

<asp:TextBox ID="txtUsername" Runat="server" /> 
<button id='theButton'>Make it Visible</button> 

jQuery代碼

$(document).ready(function() { 
    $('#theButton').click(function() { 
    var id = '#' + '<%= txtUsername.ClientID %>'; 
    $(id).show(); 
    }); 
}); 
+0

感謝..我想有這樣的事情。 –