2012-06-22 1 views
0

Я разрабатываю веб-сайт, в котором я должен загрузить файл excel. У меня есть форма, которая помещается внутри UpdatePanel. Когда я использую этот код:UploadFile1.PostedFile.FileName указывает на ошибку исключения. Как справиться с этим?

protected void uploadClick(object sender, EventArgs e) 
{ 

    string extension = Path.GetExtension(Uploader.PostedFile.FileName); 

} 

Из приведенной выше строки. Я проверяю расширение файла. Если бы это было иначе, чем .xlsx, я попрошу пользователя, чтобы такой тип файла не был разрешен. Но проблема в том, что

Uploader.PostedFile.Name дает ошибку об исключении ошибки. Это сообщение об ошибке:

NullReferenceException был необработанным код пользователя

Пожалуйста, помогите мне, как справиться с этой ситуацией. С уважением

+0

Вы используете Ajax? Если вы загружаете загрузчик на панели ajax, вы получите нуль – fenix2222

+0

Да, как я уже упоминал. Я разместил свою форму внутри UpdatePanel. Так что определенно я использую ajax. Но не смог найти решение? И да, его получение null ... –

+0

Как уже упоминалось выше, вы не можете использовать FileUpload в UpdatePanel - вам нужно будет запустить полный Postback (это может помочь http://www.c-sharpcorner.com/uploadfile/ prathore/fileupload-control-in-update-panel-using-Asp-Net-ajax /) –

ответ

1

Хорошо, потому что вы используете загрузчик внутри UpdatePanel, это не сработает. Есть две вещи, которые вы можете сделать:

  1. Используйте полный постбэк для пользователя путем использования UpdatePanel Триггеры, подробнее здесь http://www.asp.net/web-forms/tutorials/aspnet-ajax/understanding-asp-net-ajax-updatepanel-triggers

  2. Использование Асинхронный Загрузчики из Ajax Toolkit http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AsyncFileUpload/AsyncFileUpload.aspx

Смежные вопросы