代码之家  ›  专栏  ›  技术社区  ›  hud

在上载按钮单击时添加加载图像无效

  •  0
  • hud  · 技术社区  · 6 年前

    我想要一个功能,当用户通过点击按钮上传文件时。直到数据继续在后台加载,我希望是一个加载程序显示在窗体中。

    div 像下面这样

    <div id="divLoadingPanel" class="Loadingdiv">
        <img src="Images/loading.gif" alt="loading" />
    </div>
    

    function showLoadingPanel() {
            $("#divLoadingPanel").show();
        }
    

    所以在按钮点击,我像下面从服务器端调用它

    protected void btnUploadExcelData_Click(object sender, EventArgs e)
    {
        try
        {
            ClientScript.RegisterStartupScript(Page.GetType(), "loadImage", "showLoadingPanel()", true);
            UploadValidateExcelFile();
        }
        catch (Exception)
        {            
            throw;
        }
    }
    

    请说明为什么它不起作用,

    :我在上使用时,同一个装载机正在工作 onchange 下拉列表的。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Amin    6 年前

    注意将客户端代码与服务器端代码分开。当你使用 服务器端单击事件 onchange 在你的下拉列表里?因为你正在使用 不是服务器端!您的解决方案是使用ajax代码异步发送和接收数据,而无需任何回发(页面刷新),并使用一些javascript代码显示加载图像,直到服务器响应为止。如果不熟悉ajax,可以使用的第二种方法是使用.NETAJAX控件,如UpdatePanel。

    JQuery示例:

    function sendData(dataValue)
    {
        $("#divLoadingPanel").show();
        $.ajax({
                type: "POST",
                url: "Your_Page/Your_Method",
                data: dataValue,                
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown);
                },
                success: function (result) {
                    alert("We returned: " + result);
                },
                complete: function(){
                    $("#divLoadingPanel").hide();
                }
            });
    }