如何在按钮点击处理期间显示标签?

时间:2011-06-14 06:53:51

标签: c# asp.net

当按钮点击正在处理时,有没有办法显示标有“正在上传...”的标签?

我是这样做的

protected void btnUpload_Click(object sender, EventArgs e)
{
    lblOutput.Text="uploading..";

    HttpPostedFile postedFile = FileUpload1.PostedFile;
    string ClientFileName, ServerFileName;

    if ((FileUpload1.HasFile && FileUpload1.PostedFile != null) || txtUrl.Text!="")
    {
        try
        {
            HttpPostedFile myFile = FileUpload1.PostedFile;

            if (fileType == "Image")
            {
                if (fileExt == ".jpg" || fileExt == ".gif" || fileExt == ".png" || 
                    fileExt == ".bmp" || fileExt == ".tif")
                {
                    ServerFileName = System.IO.Path.Combine(ServerSavePathI, ClientFileName);
                    string serverPath = Server.MapPath(ServerFileName);
                    FileUpload1.SaveAs(serverPath);
                    dbInsert(fileType, fileName, fileExt, 
                             filePath+fileType+"/"+fileName.Replace(" ",string.Empty)+fileExt, 
                             url);
                }
            }
        }
    }
}

但是在我的文件上传之后就显示出来了。

我做错了什么,或者还有其他办法吗?

2 个答案:

答案 0 :(得分:1)

<script type="text/javascript">
        function showMessage() {
            document.getElementById("<%= lblOutput.ClientID %>").innerHTML = "uploading..";
        }
    </script>

<asp:FileUpload runat="server" ID="FileUpload1" />
    <asp:Button runat="server" ID="btnUpload" Text="Upload" OnClick="btnUpload_Click" OnClientClick="showMessage()" />
    <asp:Label runat="server" ID="lblOutput" />

答案 1 :(得分:0)

显示标签文本的优先级低于上传线程。您可以通过使用另一个线程来处理文本更改事件来解决此问题。希望帮助。