панель обновления с загрузкой файлов - PullRequest
3 голосов
/ 12 августа 2011
<asp:FileUpload runat="server" ID="uploadCertification" />
<asp:Button runat="server" ID="btntext" OnClick="btntext_Click" />

Код

uploadCertification.PostedFile.SaveAs(serverPathImage + "\\CertificationCompany\\as.td");

этот код работает нормально, но когда

 <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
      <asp:UpdatePanel ID="UpdatePanel3" runat="server"><ContentTemplate>
     <asp:FileUpload runat="server" ID="uploadCertification" />
      <asp:Button runat="server" ID="btntext" OnClick="btntext_Click" />
</ContentTemplate></asp:UpdatePanel>

Код

 uploadCertification.PostedFile.SaveAs(serverPathImage + "\\CertificationCompany\\as.td");

эта строка говорит об ошибке: Ссылка на объект не установленак экземпляру объекта.

Ответы [ 2 ]

3 голосов
/ 12 августа 2011

Взгляните на использование PostBackTrigger в вашей UpdatePanel:

PostBackTrigger

В приведенной выше статье MSDN содержится листинг кода для использования PostBackTrigger с элементом управления FileUpload.

Другие доступные вам подходы - это использование подхода iframe (упомянутого в одном из других ответов) или использование одного из множества сторонних компонентов, которые используют javascript и flash для загрузки файлов (Найти ссылки на пара самых популярных ниже)

Uploadify

SWFUpload

1 голос
/ 12 августа 2011

К сожалению, UpdatePanel не работает с некоторыми элементами управления, особенно с элементом управления FileUpload. Я считаю, что есть проблема с загрузкой файлов с использованием JavaScript. Посмотрите здесь http://msdn.microsoft.com/en-us/library/bb386454.aspx для лучшего объяснения.

В прошлом я справлялся с этой проблемой, используя Iframe на отдельной странице, которая выполняет загрузку. http://www.codeproject.com/KB/aspnet/FileUploadingWithLoading.aspx

...