2012-01-04 44 views
1

我正在使用ASP.Net控件(TextBox,下拉列表)在我的UserControl页面中,并且所有使用(编辑)使这个不可见。在同一页面中有一个用于编辑的链接按钮。我想让它在客户端可见。任何人都可以建议我该怎么做。或任何其他方式来做到这一点。使asp.net控件在客户端使用onClick性能的LinkBut​​ton显示为真

+0

通常的编辑按钮会引起回传,你可以再设置其他控件可见=真 – Prescott 2012-01-04 06:24:43

+0

感谢名单,是有postbacking。所以我需要一些客户端不会回发的东西。我有超过20个控件可以单独编辑。所以我需要一个客户端功能来应用onClick事件。有什么方法吗? – 2012-01-04 06:26:04

+0

您是否尝试过使用[AJAX](http://msdn.microsoft.com/zh-cn/library/ee341002.aspx)功能?将控件放入[UpdatePanel](http://msdn.microsoft.com/zh-cn/library/system.web.ui.updatepanel.aspx)可以帮助您将编辑按钮转换为执行客户端调用通常的回传。 – CedX 2012-01-04 07:18:16

回答

4

使用JavaScript做到这一点你要删除的LinkBut​​ton的onclick属性和使用的OnClientClick属性来调用JavaScript函数:

<asp:LinkButton ID="lb_link_button" runat="server" Text="Click Me" OnClientClick="return ToggleShowHide()"/> 

这里有一个对应的JavaScript函数来显示/隐藏一个使用它的style.display属性命名my_control控制:

<script type="text/javascript">   
    function ToggleShowHide() { 
     var control = document.getElementById("<%= my_control.ClientID %>"); 
     if (control.style.display == "none") { control.style.display = "block"; } 
     else { control.style.display = "none"; } 
     return false; 
    } 
</script> 

您可以参考的控制(S),以显示不同的方式/隐藏,这只是一个简单的例子。

请注意,设置可见/不可见的控件必须设置为而不是将其Visible属性设置为false,而应使用display:none;风格如下:

<asp:Control runat="server" ID="my_control" Visible="true" style="display:none;"/> 
相关问题