2011-01-05 50 views
0

我有兩個模板內的asp.net按鈕(展開和摺疊) 我想實現一個簡單的客戶端JavaScript功能來隱藏展開按鈕後,按下它顯示摺疊按鈕,反之亦然。如何通過javascript顯示/隱藏模板中包含的按鈕

<asp:Button ID="btnExpand" runat="server" CommandName="Expand" 
      CommandArgument='<%# Container.DataElement("Id")%>' Text="+" /> 

<asp:Button ID="btnCollapse" runat="server" CommandName="Collapse" 
      CommandArgument='<%# Container.DataElement("Id")%>' Text="-" /> 

我試圖OnClientClick事件,但我不知道如何從javascipt的獲得發送按鈕和第二按鈕,因爲他們是在一個模板及其ID將會產生。

我也試圖改變他們從服務器後面的代碼(由Visible屬性)的可見性,但問題是事件處理程序將在回發後被觸發,並且更改將不會在客戶端應用。

任何幫助!

對不起,如果這個問題很愚蠢,我是網絡開發新手。

在此先感謝。

回答

1

使用的ClientID,如:

<!-- Supposing you have the following button control --> 
<asp:button id="myButton" runat="server" /> 

<script type="text/javascript"> 

    var theID = '<%= myButton.ClientID %>'; 

    // Now do whatever you like with it. 

</script> 
+0

感謝您的重播,但我提到了控件中的模板內的按鈕,並且它們將呈現給我的控件中的每個項目。這個代碼將返回哪一個? – Homam 2011-01-05 21:31:53

+0

嗯。好吧,我想我不知道你的具體要求是什麼,但如果你的意圖是使用JavaScript來顯示/隱藏按鈕,那麼它可能完全使用JavaScript來完成。我的意思是,如果所有按鈕都能夠觸發javascript事件,那麼您可以使用jQuery來簡單地檢索正確的相應按鈕並將其切換。 – Didaxis 2011-01-05 21:51:46

0

在您所用的隱藏和顯示模板的功能,把$("#buttonID").hide();

0

請注意放置該代碼的位置。你需要確保html客戶端渲染器已經完成創建該項目。