C# asp.net无法设置映像。可见为true

C# asp.net无法设置映像。可见为true,c#,asp.net,C#,Asp.net,这是我的Default.aspx <div class="well"> <asp:DropDownList ID="ddlSchools" runat="server"></asp:DropDownList> <br /><br /> <asp:Button ID="btnContinue" runat="server" Text="Fortsätt" CssClass="btn btn-primary" OnClick="btn

这是我的Default.aspx

<div class="well">
<asp:DropDownList ID="ddlSchools" runat="server"></asp:DropDownList>
<br /><br />
<asp:Button ID="btnContinue" runat="server" Text="Fortsätt" CssClass="btn btn-primary" OnClick="btnContinue_Click" />
<br /><br />
<asp:Image ID="loadingImage" ImageUrl="Images/ajax-loader.gif" runat="server"/>
</div>

但是,图像仍然是隐藏的。我做错了什么?

设置图像可见性后,立即执行重定向到另一个页面。如果您停留在同一页上,图像将可见。我认为您需要设置
style=“display:none”
并像
$(“#loadingImage”).show()那样处理客户端onclick-在这种情况下,您可以使用简单的HTML图像
,而无需
runat=“server”

您可以在将可见性更改为
true
后使用
Response.Redirect(“Overview.aspx”)
转到其他页面。如果重定向到其他页面,则此修改是没有意义的。下次转到
Default.aspx
时,它再次不可见。也许你想在加载过程中显示加载图像,请点击这里:ApiHandler.getSchoolData需要40秒,我只想在这段时间内显示加载图像。ApiHandler.getSchoolData需要40秒,我只想在这段时间内显示加载图像你可能想使用ajax,而不是冻结整个页面,但无论如何,加载图像必须设置为在JS中可见。还要确保您的请求没有超时。在发布配置中,我认为默认超时时间为90秒-您确定实际生产数据的超时时间也为40秒吗?超时时间可以像
一样增加。我现在尝试了javascript。我正在加载的图像在HTML中具有style=“display:none”。然后我将其更改为img.style.display=“normal”;使用javascript。它不起作用。但是,如果我在HTML中将该值设置为normal,并在javascript中将其更改为none,那么就可以了。我不明白…我不认为“正常”是显示的有效值。尝试将其设置为“内联”或完全删除显示属性
protected void btnContinue_Click(object sender, EventArgs e)
{
    loadingImage.Visible = true;
    ApiHandeler.getSchoolData();
    Response.Redirect("Overview.aspx");
}