Art*_*lho 29 javascript asp.net
我有一个ASP.NET页面,其中包含一个不可见的asp:按钮.我无法用JavaScript将其显示,因为它没有呈现给页面.
我该怎么做才能解决这个问题?
Dav*_*ard 42
如果需要在客户端操作它,则不能在服务器端使用Visible属性.而是将其CSS显示样式设置为"none".例如:
<asp:Label runat="server" id="Label1" style="display: none;" />
Run Code Online (Sandbox Code Playgroud)
然后,您可以在客户端显示它:
document.getElementById('Label1').style.display = 'inherit';
Run Code Online (Sandbox Code Playgroud)
你可以用以下方法再次隐藏它:
document.getElementById('Label1').style.display = 'none';
Run Code Online (Sandbox Code Playgroud)
请记住,在实践中,ClientID可能比"Label1"更复杂.如果它们不同,您需要将ClientID与getElementById一起使用,而不是服务器端ID.
End*_*ssa 10
试试这个.
<asp:Button id="myButton" runat="server" style="display:none" Text="Click Me" />
<script type="text/javascript">
function ShowButton() {
var buttonID = '<%= myButton.ClientID %>';
var button = document.getElementById(buttonID);
if(button) { button.style.display = 'inherit'; }
}
</script>
Run Code Online (Sandbox Code Playgroud)
不要使用服务器端代码来执行此操作,因为这需要回发.您可以只设置隐藏按钮的CSS属性,而不是使用Visibility ="false".然后,在javascript中,只要您想再次显示该按钮,就可以切换该属性.
使用ClientID是因为如果按钮位于命名容器控件内,它可能与服务器ID不同.这些包括各种面板.
| 归档时间: |
|
| 查看次数: |
119928 次 |
| 最近记录: |