2017-07-18 62 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(); 
        } 


       }); 
      });