2017-07-18 57 views
0

我有一个显示加载符号的div。我正在设置下拉框更改的可见性。我想在SelectedIndexChanged方法完成后在C#中将其可见性设置为false。无法更改asp.net中div的可见性C#

这里是DIV标签:

<div runat="server" clientidmode="Static" id="loadingImage" class="loadingImage" > 
<img class="loadingImg" src="../Images/ajax-loader.gif" /> 
</div> 

这里是jQuery的功能:

$(document).ready(function() { 
    //$('#loadingImage').hide(); 
    var modal = document.getElementById('loadingImage'); 
    modal.style.display = "none"; 

    $("#selectSegment").change(function() { 
     var modal = document.getElementById('loadingImage'); 
     modal.style.display = "block"; 
    }); 
}); 

,这是我是多么想设置在C#

知名度
protected void selectSegment_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    ckBLBusinessUnits.Visible = true; 
    loadingImage.Style["display"] = "none"; 
} 

我尝试了C#中的各种方式,如设置可见性为虚假等,但没有任何工作。请帮助。

+0

'selectSegment'控件是否设置为AutoPostback = true? – Marco

+0

@Ishan在您的jQuery更改事件中,显示设置为阻止,并在SelectIndexChanged事件中将其设置为无。我相信你在jQuery中的显示设置覆盖了你在SelectIndexChanged事件中做出的显示设置 – Sujith

+0

@Marco是的,控件如下:' – Ishan

回答

0

div标签是updatepanel之外,移动updatepanel内的div解决了这个问题。

3

更改此:

loadingImage.Style["display"] = "none"; 

要这样:

loadingImage.Style.Add("display", "none"); 
+0

感谢您的回复。但那并不奏效。 – Ishan

0

您可以使用隐藏和显示方法来执行该操作。

<div runat="server" clientidmode="Static" id="loadingImage" class="loadingImage"> 

<img class="loadingImg" src="loading.gif" /> 
</div> 


     <asp:DropDownList ID="selectSegment" ClientIDMode="Static" 
runat="server"> 

      <asp:ListItem Value="0">none</asp:ListItem> 

      <asp:ListItem Value="1">display</asp:ListItem> 
     </asp:DropDownList> 

JS

$(document).ready(function() { 

       var modal = document.getElementById('loadingImage'); 
       modal.style.display = "none"; 

       $("#selectSegment").change(function() { 


        if (this.value === "1") { 
         $("#loadingImage").show(); 
        } else { 
         $("#loadingImage").hide(); 
        } 


       }); 
      });