Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 异步回发时文件上载组件为空_C#_Asp.net_Ajax_File Upload_Updatepanel - Fatal编程技术网

C# 异步回发时文件上载组件为空

C# 异步回发时文件上载组件为空,c#,asp.net,ajax,file-upload,updatepanel,C#,Asp.net,Ajax,File Upload,Updatepanel,我有一个AJAXUpdatePanel和一个GridView。updatepanel外部的FileUpload组件 <asp:FileUpload ID="documentUpload" runat="server" /> <asp:Button ID="btnUploadDocumentDetails" runat="server" OnClick="btnUploadDocumentDetails_Click" /> <asp:UpdatePanel ID=

我有一个AJAX
UpdatePanel
和一个
GridView
。updatepanel外部的
FileUpload
组件

<asp:FileUpload ID="documentUpload" runat="server" />

<asp:Button ID="btnUploadDocumentDetails" runat="server" OnClick="btnUploadDocumentDetails_Click" />

<asp:UpdatePanel ID="UpdatePanel_DocumentDetails" runat="server">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnuploaddocumentdetails" EventName="Click" />
    </Triggers>
    <ContentTemplate>
        <asp:GridView ID="gvDocuments" runat="server"></asp:GridView>
    </ContentTemplate>
</asp:UpdatePanel>

单击按钮,我必须将文件上载到服务器上,并更新
GridView
(GridView包含所有文件的列表)

问题:

当我单击按钮上载文件时,
FileUpload
组件变为空(
HasFile
属性返回
false


如何解决此问题以异步更新
GridView

您的问题是您正在进行异步回发。在这种情况下,无法定期直接上载文件。iFrame、flash等有多种解决方法。搜索“asp.net异步文件上载”是
asp.net
组件还是我必须获得
Ajax工具包
?我不知道有任何asp.net内置控件用于此。ajax控件工具包中有一个,web上还有很多其他的。不过,我不会提倡任何特定的solotion,因为我已经很久没有使用过任何solotion了them@Shaharyar,既有asp.net文件上载控件,也有ajax控件。你可以找到这两个例子,但正如Andrei所说,你不能在updatepanel内使用常规的fileupload控件。我没有在updatepanel内使用它,因为你可以看到它在面板外。