我创建了一个显示清单列表的报告。用户可以通过清单号搜索该列表。当代码运行搜索时,我正在显示一个Gif:
但是一旦搜索结束,这个Gif就不会消失。我可以看到正在显示正确的记录,所以搜索结束了,但Gif仍然在屏幕上。
单击搜索按钮时会调用该函数。
<asp:Button runat="server" CssClass="btnSearch loading" ID="btnSearch" Text="Search" OnClick="btnSearch_Click" OnClientClick="ShowLoadingGif()" ToolTip="Search" />
<div id="dvLoading">
<table>
<tr>
<td id="tdLoadingSave"><img src="/images/loading.gif" alt="Loading..." title="Loading..." /></td>
</tr>
</table>
</div>
function ShowLoadingGif() {
closefiltermenu();
$("#tdLoadingSave").html($("#tdLoadingSave").html() + "<br/> Please wait, manifest list is loading");
$('#dvLoading').fadeIn("500");
}
function CloseLoadingGif() {
$('#dvLoading').fadeOut("500");
}
然后从另一个函数运行搜索:
protected void Search()
{
string Field = ddlSearchBy.SelectedValue;
string SearchString = txtSearchBy.Text;
string[] SearchFields = null;
string[] SearchStrings = null;
if (!string.IsNullOrEmpty(SearchString) && Field != "null")
{
SearchFields = new string[] { Field };
SearchStrings = new string[] { SearchString };
}
List<lookupManifestAnalysis> main = lookupManifestAnalysis.SearchManifestItems(Company.Current.CompanyID,
SearchStrings,
SearchFields);
gvResults.DataSource = main;
gvResults.DataBind();
udpResults.Update();
ClientScript.RegisterStartupScript(GetType(), "Search", "CloseLoadingGif();", true);
}
但是一旦搜索结束,我如何停止显示Gif?
答案 0 :(得分:2)
ScriptManager.RegisterStartupScript(this, GetType(), "CloseLoadingGif","CloseLoadingGif();", true);
或强> 如果您正在处理asp.net UpdatePanel和UpdateProgress,请使用以下代码:
ScriptManager.RegisterStartupScript(myUpdatePanelID,myUpdatePanelID.GetType(),"CloseLoadingGif", "CloseLoadingGif();", true);
答案 1 :(得分:0)
在服务器端ASP中执行代码时,不应使用客户端功能来显示或隐藏元素。而是尝试使用.Net的Ajax控件。
您需要使用AJAX Progress控件。这看一下: