我有一些处理excel文件的Web表单,所以为了使这更容易,我有一个像这样的基类:
public abstract class ExcelImporter : Page {
public abstract RadAsyncUpload FileUpload { get; }
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if (FileUpload != null)
{
DefineRadAyncUpload();
}
}
private void DefinirRadAyncUpload()
{
FileUpload.Skin = Skin;
FileUpload.Culture = new System.Globalization.CultureInfo("pt-BR");
FileUpload.TemporaryFolder = "~/temp";
FileUpload.OnClientFileUploaded = "PostBackAsyncUploadComplete";
FileUpload.AllowedFileExtensions = new[] { "xls", "xlsx" };
FileUpload.MaxFileInputsCount = 1;
FileUpload.FileUploaded += FileUploadOnFileUploaded;
}
protected abstract void FileUploadOnFileUploaded(object sender, FileUploadedEventArgs fileUploadedEventArgs);
}
我在Define方法中设置的所有内容都在工作,但扩展过滤器除外。 我究竟做错了什么?还有另一个时刻,我应该设置这个属性吗?
答案 0 :(得分:1)
更新的答案:
试一试:
FileUpload.FileFilters.Add(new FileFilter("Microsoft Excel (*.xls;*.xlsx)", new [] { "xls", "xlsx" }));
“从2011年第一季度开始,RadAsyncUpload支持文件过滤。文件过滤器是一个具有两个属性的对象 - 描述和扩展.extension属性接受以逗号分隔的扩展列表,在此上应该过滤选择文件对话框。描述属性,顾名思义,描述扩展集。“
另外:
“请记住,当RadAsyncUpload使用其IFrame模块时(既不安装Flash也不安装Silverlight),没有可用的过滤功能。这是因为浏览器根本不提供本机文件过滤支持。 可以根据需要应用尽可能多的过滤器。然后,用户可以通过文件类型组合框在不同的过滤器中进行选择。“