2011-01-05 65 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客户端渲染器已经完成创建该项目。