我当前正在尝试单击按钮时更改标签的可见性。标签最初是隐藏的,将在单击按钮后显示。
我尝试使用DevEx控件和SetVisible()函数。该功能有效,但是如果像我想的那样首先通过css将标签呈现为“ display:none”,则它什么都不做。
我还尝试使用ASP标签并在单击时更改display属性,但似乎再也没有发生。
样式
.dxd
{
display: none;
}
JavaScript
<script type="text/javascript">
function fncShow(s, e) {
//show devex label
lblTest.SetVisible(true);
//show ASP label
document.getElementById("lblASP").style.display = 'block';
}
</script>
身体
<dx:ASPxButton runat="server" ID="btnTest" Text="Show" Width="100px" AutoPostBack="false">
<ClientSideEvents Click="fncShow" />
</dx:ASPxButton>
<dx:ASPxLabel runat="server" ID="lblTest" Text="Test label" ClientInstanceName="lblTest" CssClass="dxd"></dx:ASPxLabel>
<asp:Label runat="server" ID="lblASP" Text="Test label 2" CssClass="dxd"></asp:Label>
我已经用尽了很多方法尝试使任何一个控件都无法成功工作。在这一点上,我想知道是否有可能首先使标签不可见,以及是否有可能同时使用两个控件来实现。我是JS的新手,所以也许我错过了一些东西,但是所有示例均无济于事。任何帮助将不胜感激。
答案 0 :(得分:1)
结果是我缺少一些小的设置来使所有这些组合在一起。
在DevEx控件上,有一个名为ClientVisible
的属性,将其设置为false
可以使对象最初被隐藏。之后,您可以自由使用label.SetVisible()
进行显示和隐藏。
在ASP标签上,Kevin正确地认为ClientIDMode
需要设置为static
。设置为static
后,ID不会更改,并且display
和visibility
属性都可以使用document.getElementByID().style.visiblity
或style.display
进行更改,无论您选择哪个。