2012-01-04 45 views
1

我正在使用ASP.Net控件(TextBox,下拉列表)在我的UserControl頁面中,並且所有使用(編輯)使這個不可見。在同一頁面中有一個用於編輯的鏈接按鈕。我想讓它在客戶端可見。任何人都可以建議我該怎麼做。或任何其他方式來做到這一點。使asp.net控件在客戶端使用onClick性能的LinkBut​​ton顯示爲真

+0

通常的編輯按鈕會引起回傳,你可以再設置其他控件可見=真 – Prescott 2012-01-04 06:24:43

+0

感謝名單,是有postbacking。所以我需要一些客戶端不會回發的東西。我有超過20個控件可以單獨編輯。所以我需要一個客戶端功能來應用onClick事件。有什麼方法嗎? – 2012-01-04 06:26:04

+0

您是否嘗試過使用[AJAX](http://msdn.microsoft.com/zh-cn/library/ee341002.aspx)功能?將控件放入[UpdatePanel](http://msdn.microsoft.com/zh-cn/library/system.web.ui.updatepanel.aspx)可以幫助您將編輯按鈕轉換爲執行客戶端調用通常的回傳。 – CedX 2012-01-04 07:18:16

回答

4

使用JavaScript做到這一點你要刪除的LinkBut​​ton的onclick屬性和使用的OnClientClick屬性來調用JavaScript函數:

<asp:LinkButton ID="lb_link_button" runat="server" Text="Click Me" OnClientClick="return ToggleShowHide()"/> 

這裏有一個對應的JavaScript函數來顯示/隱藏一個使用它的style.display屬性命名my_control控制:

<script type="text/javascript">   
    function ToggleShowHide() { 
     var control = document.getElementById("<%= my_control.ClientID %>"); 
     if (control.style.display == "none") { control.style.display = "block"; } 
     else { control.style.display = "none"; } 
     return false; 
    } 
</script> 

您可以參考的控制(S),以顯示不同的方式/隱藏,這只是一個簡單的例子。

請注意,設置可見/不可見的控件必須設置爲而不是將其Visible屬性設置爲false,而應使用display:none;風格如下:

<asp:Control runat="server" ID="my_control" Visible="true" style="display:none;"/> 
相關問題