簡體   English   中英

從服務器端C#調用Javascript函數

[英]Call Javascript Function From Server Side C#

我創建了一個顯示清單清單的報告。 用戶可以通過清單編號搜索此列表。 當代碼運行搜索時,我正在顯示一個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?

ScriptManager.RegisterStartupScript(this, GetType(), "CloseLoadingGif","CloseLoadingGif();", true);

如果您正在處理asp.net UpdatePanel和UpdateProgress,請使用以下代碼:

ScriptManager.RegisterStartupScript(myUpdatePanelID,myUpdatePanelID.GetType(),"CloseLoadingGif", "CloseLoadingGif();", true); 

在服務器端ASP中執行代碼時,不應使用客戶端函數來顯示或隱藏元素。 而是嘗試使用.Net中的Ajax控件。

您將需要使用AJAX進度控件。 看一下:

https://msdn.microsoft.com/zh-CN/library/bb386421.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM