使用JavaScript的ASP / ASPX标签可见性

时间:2018-08-28 17:57:30

标签: javascript c# asp.net .net devexpress

我当前正在尝试单击按钮时更改标签的可见性。标签最初是隐藏的,将在单击按钮后显示。

我尝试使用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的新手,所以也许我错过了一些东西,但是所有示例均无济于事。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

结果是我缺少一些小的设置来使所有这些组合在一起。

在DevEx控件上,有一个名为ClientVisible的属性,将其设置为false可以使对象最初被隐藏。之后,您可以自由使用label.SetVisible()进行显示和隐藏。

在ASP标签上,Kevin正确地认为ClientIDMode需要设置为static。设置为static后,ID不会更改,并且displayvisibility属性都可以使用document.getElementByID().style.visiblitystyle.display进行更改,无论您选择哪个。