从服务器端C调用Javascript函数#
我创建了一个显示清单列表的报告。用户可以通过清单编号搜索此列表。当代码运行搜索时,我显示一个Gif: 但是一旦搜索完成,这个Gif不会消失。我可以看到显示的是正确的记录,因此搜索结束,但Gif仍保留在屏幕上 单击搜索按钮时调用该函数从服务器端C调用Javascript函数#,javascript,c#,jquery,asp.net,gif,Javascript,C#,Jquery,Asp.net,Gif,我创建了一个显示清单列表的报告。用户可以通过清单编号搜索此列表。当代码运行搜索时,我显示一个Gif: 但是一旦搜索完成,这个Gif不会消失。我可以看到显示的是正确的记录,因此搜索结束,但Gif仍保留在屏幕上 单击搜索按钮时调用该函数 <asp:Button runat="server" CssClass="btnSearch loading" ID="btnSearch" Text="Search" OnClick="btnSearch_Click" OnClientClick="Sh
<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");
}
函数ShowLoadingGif(){
closefiltermenu();
$(“#tdLoadingSave”).html($(“#tdLoadingSave”).html()+“
请稍候,正在加载清单列表”);
$('dvLoading').fadeIn(“500”);
}
函数CloseLoadingGif(){
$('dvLoading')。淡出(“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);
}
受保护的无效搜索()
{
字符串字段=ddlSearchBy.SelectedValue;
string SearchString=txtSearchBy.Text;
字符串[]SearchFields=null;
string[]SearchStrings=null;
如果(!string.IsNullOrEmpty(SearchString)&&Field!=“null”)
{
SearchFields=新字符串[]{Field};
SearchStrings=新字符串[]{SearchString};
}
List main=lookupManifestAnalysis.SearchManifestItems(Company.Current.CompanyID,
搜索字符串,
搜索字段);
gvResults.DataSource=main;
gvResults.DataBind();
udpResults.Update();
RegisterStartupScript(GetType(),“Search”,“CloseLoadingGif();”,true);
}
但搜索结束后如何停止Gif显示?在服务器端ASP中执行代码时,不应使用客户端函数显示或隐藏元素。相反,尝试使用.Net中的Ajax控件 您将需要使用AJAX进度控制。请看一看: 或 如果您正在处理asp.net UpdatePanel和UpdateProgress,请使用以下代码:
ScriptManager.RegisterStartupScript(myUpdatePanelID,myUpdatePanelID.GetType(),"CloseLoadingGif", "CloseLoadingGif();", true);
$('dvLoading').fadeOut(“500”)代码>搜索结束时(ajax响应或任何您用来知道何时结束的信息)。@pistou搜索在另一个受保护的函数void search()中运行。不在jquery中。那么我该如何停止gif的显示呢?在Search()
函数中使用ClientScript.RegisterClientScriptBlock
。@waqarhmed我添加了`ClientScript.RegisterClientScriptBlock(GetType(),“Search”,“CloseLoadingGif();”,true);`但是它仍然不能与ClientScript.RegisterStartupScript一起使用
ScriptManager.RegisterStartupScript(myUpdatePanelID,myUpdatePanelID.GetType(),"CloseLoadingGif", "CloseLoadingGif();", true);