侧面更新面板中的AsyncFileUploader
本文关键字:AsyncFileUploader 更新 侧面 | 更新日期: 2023-09-27 18:19:55
我在更新面板中使用AJAX AsyncFileUploader。但它不起作用。有谁能帮我换个方法吗。
感谢
您必须设置文件控件的这些事件。
OnClientUploadError="uploadError" OnClientUploadComplete="uploadComplete"
您必须定义客户端上传事件,并可以选择设置OnUploadedComplete服务器端事件:
<ajax:AsyncFileUpload ID="UploadResume" runat="server" Width="450px"
OnClientUploadError="UploadError"
OnClientUploadComplete="UploadComplete"
OnUploadedComplete="OnUploadComplete"
UploaderStyle="Modern"
UploadingBackColor="#CCFFFF"/>
客户端事件处理程序(JavaScript)
function UploadError(sender, args)
{
var e = args.get_errorMessage();
var fn = args.get_fileName();
}
function UploadComplete(sender, args)
{
var content_type = args.get_contentType();
var size = args.get_length()/1000 + " Kbytes";
}
服务器端事件处理程序(C#)
protected void OnUploadComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
if (UploadResume.HasFile)
{
// do something with uploaded file, e.g. save
String path = MapPath("yourpath") + Path.GetFileName(e.FileName);
UploadResume.SaveAs(path);
}
else
{
// error
}
}
在这个例子中,您不需要使用UpdatePanel,但它在UpdatePanel中可以工作。
对于那些可能正在挣扎的人,我遇到了类似的更新面板问题。即使我添加AsyncFileUpload1作为更新面板的回发触发器,它仍然无法工作。
我最终在更新面板外的主页上添加了一个额外的、完全未使用的AsyncFileUpload3,这使得更新面板内的AsyncFileUpload1能够正常工作。我不知道为什么这样做,除了他们必须共享资源。
未使用的AsyncFileUpload3必须可见才能工作,所以我将其设置为禁用,宽度为0%。如果有人知道为什么这样做,我会非常好奇。我在VB 中编码