2011-04-03 49 views

回答

2

如果你有这样做的代码隐藏,然后使用LinkButton代替HyperLink。然后它将有一个点击事件,就像任何按钮一样,在该点击事件中,您可以将其他元素设置为.Visible=true

但是,这是否需要在代码隐藏?请记住,在服务器端和客户端的代码之间的“知名度”的区别:

  • 如果设置为.Visible=false在服务器端,内容不交付给客户的。
  • 如果在客户端设置为display:none,则该内容存在,并且可以在页面源中查看,但浏览器不显示该内容。

在某些情况下,前者是出于安全目的而需要的。但是,如果这只是用户体验的问题,那么我会建议在客户端完全显示/隐藏内容,以避免仅仅改变元素显示属性的后备功能。

例如(假设的jQuery):

<a id="toggler" href="#">Show the content</a> 
<div id="hidden" style="display:none;">Content</div> 
<script> 
    $(document).ready(function(){ 
    $("#toggler").click(function(){ 
     $("#hidden").show(); 
    }); 
    }); 
</script> 
1

使用一个asp:LinkButton代替超链接和处理OnClick事件。在OnClick事件中,根据是否要显示或不显示,切换myDropDownList.Visible

0

您应该在客户端实现这种功能(JavaScript代码)以改善用户体验。

无论如何,当单击链接时,您可以使用可见性= false的Panel,并在代码后面放置Visibility = true。您需要用css调整该面板的位置,使其看起来像下拉菜单。

0

你可以使用jQuery尝试:在服务器上的LinkBut​​ton而不是和处理OnClick事件:http://www.jquery.com

它将会像

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#<% =HyperLink2.ClientID %>").click(function() { 
      $("#<% =DropDownList1.ClientID %>").toggle(); 
     }); 
    }); 
</script> 
0

如果您需要发送的形式返回到服务器上,使用ASP侧。如果您需要在客户端显示下拉列表,请使用javascript函数与onclick客户端事件显示或隐藏您想要的任何部分。