我当前正在尝试在单击按钮时更改标签的可见性。标签最初是隐藏的,单击按钮后将显示。
我尝试过使用DevEx控件和SetVisible()函数。该函数可以工作,但如果标签首先通过css呈现为'display: none‘,就像我在我的情况下所希望的那样,它不会做任何事情。
我还尝试使用ASP标签并在单击时更改显示属性,但似乎再一次没有发生任何事情。
风格
.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的新手,所以可能我遗漏了一些东西,但是所有的例子都是徒劳的。任何帮助都将不胜感激。
发布于 2018-08-29 02:45:06
事实证明,我遗漏了一些小设置,以使所有这些都在一起。
在DevEx控件上有一个名为ClientVisible
的属性,对于最初要隐藏的对象,将其设置为false
。在此之后,您可以自由使用label.SetVisible()
来显示和隐藏它。
在ASP标签上,Kevin关于ClientIDMode
需要设置为static
的说法是正确的。一旦设置为static
,ID就不会改变,并且display
和visibility
属性都可以使用document.getElementByID().style.visiblity
或style.display
进行更改。
https://stackoverflow.com/questions/52063799
复制相似问题