使用JavaScript的ASP/ASPX标签可见性
我当前正在尝试更改单击按钮时标签的可见性。标签最初是隐藏的,并将在单击按钮后显示 我尝试过使用DevEx控件和SetVisible()函数。该函数可以工作,但是如果标签首先通过css呈现为“display:none”,就像我在我的情况下希望的那样,那么它什么也不做 我还尝试使用ASP标签,并在单击时更改显示属性,但再次似乎什么也没有发生 风格 JavaScript使用JavaScript的ASP/ASPX标签可见性,javascript,c#,asp.net,.net,devexpress,Javascript,C#,Asp.net,.net,Devexpress,我当前正在尝试更改单击按钮时标签的可见性。标签最初是隐藏的,并将在单击按钮后显示 我尝试过使用DevEx控件和SetVisible()函数。该函数可以工作,但是如果标签首先通过css呈现为“display:none”,就像我在我的情况下希望的那样,那么它什么也不做 我还尝试使用ASP标签,并在单击时更改显示属性,但再次似乎什么也没有发生 风格 JavaScript <script type="text/javascript"> function fncShow(s, e) {
<script type="text/javascript">
function fncShow(s, e) {
//show devex label
lblTest.SetVisible(true);
//show ASP label
document.getElementById("lblASP").style.display = 'block';
}
</script>
功能fncShow(s、e){
//显示devex标签
lblTest.SetVisible(真);
//显示ASP标签
document.getElementById(“lblASP”).style.display='block';
}
身体
我已经用尽了很多方法试图让其中一个控件工作,但都没有成功。在这一点上,我想知道是否有可能首先让标签不可见,以及是否有可能使用这两个控件实现。我是JS新手,所以可能我遗漏了一些东西,但所有的例子都是徒劳的。任何帮助都将不胜感激 结果是,我缺少了一些小设置,无法将所有这些结合起来 在DevEx控件上有一个名为
ClientVisible
的属性,将该属性设置为false
,以便最初隐藏对象。之后,您可以自由使用label.SetVisible()
来显示和隐藏它
在ASP标签上,Kevin正确地指出了
clientdmode
需要设置为static
。一旦设置为static
ID将不会更改,并且可以使用document.getElementByID().style.visibility
或style.display
,无论您喜欢什么,都可以更改display
和visibility
属性 显示!=能见度。尝试设置可见性:隐藏代码>而不是显示:无代码>。已经尝试过,但不起作用。同样值得注意的是,DevEx标签将保持不可见,并且显示属性将更改。在fncShow
函数中定义的lblTest
在哪里?您确定标签ID在呈现时仍然是lblASP
吗?lblTest不需要定义,它有一个ClientInstanceName属性,可以引用它而不是按ID检索它,DevEx就是这样设计的。再一次,我让SetVisible()正常工作,我有两个显示/隐藏按钮,它可以正常工作,直到您将初始CSS设置为隐藏它。至于ASP标签的ID,我不确定它是否在改变,这是有原因的吗?如果你引用的是ID,IIRC中有一个ASP属性,比如ClientID
或其他什么,可以防止ID被盗用。(我已经做了几年的.NET开发了。)看起来还有一个clientdmode
属性,您可以将其设置为static
。
<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>