在基类中设置webcontrols的默认值

时间:2013-04-11 12:54:15

标签: asp.net webforms telerik

我有一些处理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方法中设置的所有内容都在工作,但扩展过滤器除外。 我究竟做错了什么?还有另一个时刻,我应该设置这个属性吗?

1 个答案:

答案 0 :(得分:1)

更新的答案:

试一试:

FileUpload.FileFilters.Add(new FileFilter("Microsoft Excel (*.xls;*.xlsx)", new [] { "xls", "xlsx" }));

来自The Documentation

“从2011年第一季度开始,RadAsyncUpload支持文件过滤。文件过滤器是一个具有两个属性的对象 - 描述和扩展.extension属性接受以逗号分隔的扩展列表,在此上应该过滤选择文件对话框。描述属性,顾名思义,描述扩展集。“

另外:

“请记住,当RadAsyncUpload使用其IFrame模块时(既不安装Flash也不安装Silverlight),没有可用的过滤功能。这是因为浏览器根本不提供本机文件过滤支持。 可以根据需要应用尽可能多的过滤器。然后,用户可以通过文件类型组合框在不同的过滤器中进行选择。“