无法在asp.net C#中更改div的可见性

时间:2017-07-18 08:37:06

标签: c# jquery html css visibility

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

以下是 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#中尝试了各种方式,例如将可见性设置为false等,但没有任何效果。请帮助。

3 个答案:

答案 0 :(得分:3)

改变这个:

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

对此:

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

答案 1 :(得分: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();
                    }


                });
            });

答案 2 :(得分:0)

div标签位于updatepanel之外,移动div内的updatepanel解决了问题。