C# 将下拉列表设置为可见的超链接

C# 将下拉列表设置为可见的超链接,c#,asp.net,html,C#,Asp.net,Html,想知道是否有一种方法可以在点击超链接时将下拉列表设置为在代码隐藏或asp中可见 <asp:HyperLink ID="HyperLink2" runat="server">View More Workout Programs »</asp:HyperLink> 查看更多训练计划» 如果必须在代码隐藏中执行此操作,请使用链接按钮而不是超链接。然后它会像任何按钮一样有一个单击事件,在该单击事件中,您可以将另一个元素设置为。Visible=true 然而,这是否需要在代码隐藏

想知道是否有一种方法可以在点击超链接时将下拉列表设置为在代码隐藏或asp中可见

<asp:HyperLink ID="HyperLink2" runat="server">View More Workout Programs »</asp:HyperLink>
查看更多训练计划»

如果必须在代码隐藏中执行此操作,请使用
链接按钮而不是
超链接
。然后它会像任何按钮一样有一个单击事件,在该单击事件中,您可以将另一个元素设置为
。Visible=true

然而,这是否需要在代码隐藏中完成?请记住服务器端代码和客户端代码在“可见性”方面的差异:

  • 如果在服务器端设置为
    .Visible=false
    ,则内容根本不会传递到客户端
  • 如果在客户端设置为
    display:none
    ,则内容会显示并可以在页面源中查看,而浏览器不会显示内容
在某些情况下,出于安全目的需要使用前者。但是如果这只是用户体验的问题,那么我建议完全在客户端显示/隐藏内容,以避免只更改元素显示属性的回发

例如(假设jQuery):


内容
$(文档).ready(函数(){
$(“#切换器”)。单击(函数(){
$(“#隐藏”).show();
});
});

如果必须在代码隐藏中执行此操作,请使用
链接按钮而不是
超链接
。然后它会像任何按钮一样有一个单击事件,在该单击事件中,您可以将另一个元素设置为
。Visible=true

然而,这是否需要在代码隐藏中完成?请记住服务器端代码和客户端代码在“可见性”方面的差异:

  • 如果在服务器端设置为
    .Visible=false
    ,则内容根本不会传递到客户端
  • 如果在客户端设置为
    display:none
    ,则内容会显示并可以在页面源中查看,而浏览器不会显示内容
在某些情况下,出于安全目的需要使用前者。但是如果这只是用户体验的问题,那么我建议完全在客户端显示/隐藏内容,以避免只更改元素显示属性的回发

例如(假设jQuery):


内容
$(文档).ready(函数(){
$(“#切换器”)。单击(函数(){
$(“#隐藏”).show();
});
});

使用
asp:link按钮而不是超链接,并处理
OnClick
事件。在
OnClick
事件中,切换
myDropDownList.Visible
,具体取决于您是否要显示它。

使用
asp:LinkButton
而不是超链接,并处理
OnClick
事件。在
OnClick
事件中,切换
myDropDownList.Visible
,具体取决于您是否要显示它。

您应该在客户端中实现此类功能(javascript代码)以改善用户体验


无论如何,当单击链接时,您可以在代码中使用Visibility=false和put Visibility=true的面板。您需要使用css调整面板的位置,使其看起来像一个下拉列表。

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


无论如何,当单击链接时,您可以在代码中使用Visibility=false和put Visibility=true的面板。您需要使用css调整面板的位置,使其看起来像一个下拉列表。

您可以尝试使用JQuery:

大概是

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

$(文档).ready(函数(){
$(“#”)单击(函数(){
$(“#”)切换();
});
});

您可以尝试使用JQuery:

大概是

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

$(文档).ready(函数(){
$(“#”)单击(函数(){
$(“#”)切换();
});
});

如果需要将表单发送回服务器,请改用asp:LinkButton并在服务器端处理OnClick事件。如果需要在客户端显示下拉列表,请使用javascript函数和onclick client事件来显示或隐藏所需的任何部分。

如果需要将表单发送回服务器,请使用asp:LinkButton,并在服务器端处理onclick事件。如果需要在客户端显示下拉列表,请使用带有onclick client事件的javascript函数来显示或隐藏所需的任何部分