想知道点击超链接是否有办法将下拉列表设置为后面的代码或asp中可见?
<asp:HyperLink ID="HyperLink2" runat="server">View More Workout Programs »</asp:HyperLink>
答案 0 :(得分: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 :(得分:1)
使用asp:LinkButton
代替超链接并处理OnClick
事件。在OnClick
事件中,切换myDropDownList.Visible
取决于您是否要显示它。
答案 2 :(得分:0)
您应该在客户端(javascript代码)中实现这种功能,以改善用户体验。
无论如何,您可以使用Visibility = false的Panel,并在单击链接时将Visibility = true置于代码后面。您需要使用css调整该面板的位置,使其看起来像下拉列表。
答案 3 :(得分:0)
您可以尝试使用JQuery:http://www.jquery.com
这将是
<script type="text/javascript">
$(document).ready(function(){
$("#<% =HyperLink2.ClientID %>").click(function() {
$("#<% =DropDownList1.ClientID %>").toggle();
});
});
</script>
答案 4 :(得分:0)
如果需要将表单发送回服务器,请改用asp:LinkButton并在服务器端处理OnClick事件。如果您需要在客户端显示下拉列表,请使用带有onclick客户端事件的javascript函数来显示或隐藏您想要的任何部分。