当按钮点击正在处理时,有没有办法显示标有“正在上传...”的标签?
我是这样做的
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);
}
}
}
}
}
但是在我的文件上传之后就显示出来了。
我做错了什么,或者还有其他办法吗?
答案 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)
显示标签文本的优先级低于上传线程。您可以通过使用另一个线程来处理文本更改事件来解决此问题。希望帮助。