C# 使用ajax时无法获取上载的文件名
我正在使用Ajax文件上载控件上载工作正常的文件,但当我选中一个复选框或单选按钮,该复选框或单选按钮的C# 使用ajax时无法获取上载的文件名,c#,asp.net,ajax,autopostback,C#,Asp.net,Ajax,Autopostback,我正在使用Ajax文件上载控件上载工作正常的文件,但当我选中一个复选框或单选按钮,该复选框或单选按钮的autopostback属性设置为true,然后选中FileName返回空值 protected void AsyncFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e) { try { if (AsyncFileUpload1.IsUp
autopostback
属性设置为true,然后选中FileName
返回空值
protected void AsyncFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
try
{
if (AsyncFileUpload1.IsUploading)
{
AsyncFileUpload1.SaveAs(MapPath("~/Images/Accounts/" + AsyncFileUpload1.FileName));
}
}
catch (Exception ex)
{
}
}
上传后,启动的任何回发控件只返回null,viewstate也未工作。使用viewstate是一个服务器控件,使用回发可以清除该控件,因此首先将该值存储在javascript中,然后按如下方式使用它 Java脚本方法:
function OnClientAsyncFileUploadComplete(sender, args) {
__doPostBack('filename', args.get_fileName());
}
function saveLogo(ImageName) {
__doPostBack('filename', args.get_fileName());
}
请在页面加载中输入以下代码:
IN.CS
if (IsPostBack)
{
string eventTarget = this.Request["__EVENTTARGET"];
if (eventTarget == "filename")
{
ViewState["EIName"] = this.Request["__EVENTARGUMENT"].ToString();
}
}
ViewState[“EIName”]包含文件名
您可以使用页面中的任何位置请从服务器添加更多代码