C# Ajax AsyncFileUpload触发服务器代码,但不更新客户端网页

C# Ajax AsyncFileUpload触发服务器代码,但不更新客户端网页,c#,asp.net,ajax,C#,Asp.net,Ajax,我在更新面板中有一个asyncfileupload控件。文件成功上载并触发正确的服务器端代码。服务器上的代码按预期执行,但是,服务器代码中的一行更改了标签上的文本。我在调试模式下单步执行代码,执行该行,但不更改页面 下面是一些代码: public void FileUploadComplete(对象发送方,AjaxControlToolkit.AsyncFileUploadEventArgs e) { 系统.线程.线程.睡眠(500); if(fileUpload.HasFile){Asy

我在更新面板中有一个asyncfileupload控件。文件成功上载并触发正确的服务器端代码。服务器上的代码按预期执行,但是,服务器代码中的一行更改了标签上的文本。我在调试模式下单步执行代码,执行该行,但不更改页面

下面是一些代码:


public void FileUploadComplete(对象发送方,AjaxControlToolkit.AsyncFileUploadEventArgs e)
{ 
系统.线程.线程.睡眠(500);
if(fileUpload.HasFile){AsyncText.Text=“格式正确的文件:;}
}
有人能帮我解决这个问题或提供其他解决方案吗


谢谢

标签放在哪里,在更新面板的内部还是外部?似乎部分页面更新可能不包括对标签文本的更新。我认为移动标签是最简单的建议,但您也可以尝试类似RegisterStartupScript的方法,它将通过javascript更改标签文本。这仍然可以让您在服务器端根据上传过程中发生的情况控制要显示的文本


如果你能发布一些代码,那就太好了

我认为您将不得不转向另一种解决方案。从标签消息中,您似乎正在尝试检查文件类型,对吗?基本上,AsyncUplaod控件虽然回发以将上载的文件发送到浏览器,但实际上并没有更新页面的viewstate,因此标签永远不会更新。喝倒采我能够在page load事件中使用此代码将其可视化

if (Page.IsPostBack)
{
    if (Request.Files.Count > 0)
    {
        AsyncText.Text = "file of correct format";
        ListItem item = new ListItem("item to add");
        lb.Items.Add(item);
    }
}
这允许我设置标签文本,但仍然没有任何更改,直到我单击添加到页面的随机按钮。此按钮在代码隐藏中甚至没有事件,但足以导致正常回发,并且标签文本和列表项已成功更新/添加到列表中。话虽如此,我会等待更新任何标签,直到用户使用单独的上传按钮点击上传。(即使用AsyFileUplaod将文件发送到浏览器,但使用另一个按钮将文件保存到服务器)。您始终可以在按钮单击事件中通过将发布的文件引用到网页来进行文件评估,就像我在上面的代码中所做的那样

我在网上找到的其他一些例子是使用javascript来更改标签文本,这也很有效。像这样的事情:

string message = "";
if (e.StatusMessage == "Success")
{
   message = "File upload successful;";
}
else
{
   message = "File did not upload successfully;";
}
ClientScript.RegisterStartupScript(this.GetType(), "akey", "document.getElementByID('label').value =" + message, true);
另一个例子:

我认为在这种情况下,这只是控制的本质,实现你想要的唯一方法是通过一些创造性思维。如果你对我在这里列出的任何事情有任何其他问题,请随时提问


祝你好运

你能粘贴一些代码吗?代码im使用:客户端:服务器:public void FileUploadComplete(对象发送者,AjaxControlToolkit.AsyncFileUploadEventArgs e){System.Threading.Thread.Sleep(500);if(fileUpload.HasFile){AsyncText.Text=“格式正确的文件:;}代码im使用:客户端:服务器:public void FileUploadComplete(对象发送方,AjaxControlToolkit.AsyncFileUploadEventArgs e){System.Threading.Thread.Sleep(500);if(fileUpload.HasFile){AsyncText.Text=“格式正确的文件:;}