gridview edittemplate 中的文件上传在更新面板中不起作用
Fileupload in gridview edittemplate not working in update panel
我在 gridview edittemplate 中有文件上传控件:
<asp:TemplateField HeaderText="Template File" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblTemplateFileName" runat="server" Text='<%# Eval("TemplateFileName")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:FileUpload ID="fuTemplate" runat="server" />
<asp:RequiredFieldValidator ID="rfTemplateFile" Display="Dynamic" ControlToValidate="fuTemplate"
runat="server" ErrorMessage="Select the Template File!" ValidationGroup="GRD"
Text="*" ForeColor="Red"></asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateField>
GridView 在更新面板内:
<asp:UpdatePanel ID="upMain" runat="server" UpdateMode="Conditional">
<ContentTemplate>
...............
..............
</ContentTemplate>
</asp:UpdatePanel>
当通过 rowcommand 我检查 fileuploader.Hasfile 时,尽管它有文件,但它总是显示 false。
我试过为网格和文件上传器设置 postbacktrigger。
但是没有用
我该如何处理这个问题?
请指导我。
也试过添加:
Page.Form.Attributes.Add("enctype", "multipart/form-data");
页面加载时
文件上传将无法使用部分 post 返回。
所以只需在页面加载时添加这一行
ScriptManager.GetCurrent(this).RegisterPostBackControl(this.YourGridviewId);
或使用PostBackTrigger
.
<Triggers>
<asp:PostBackTrigger ControlID="YourGridviewId" />
</Triggers>
或者您需要 AjaxControl 工具包中定义的特殊 AsyncFileUpload 控件。
<ajaxToolkit:AsyncFileUpload OnClientUploadError="uploadError"
OnClientUploadComplete="uploadComplete" runat="server"
ID="AsyncFileUpload1" Width="400px" UploaderStyle="Modern"
UploadingBackColor="#CCFFFF" ThrobberID="myThrobber" />
您可以检查here。
我在 gridview edittemplate 中有文件上传控件:
<asp:TemplateField HeaderText="Template File" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblTemplateFileName" runat="server" Text='<%# Eval("TemplateFileName")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:FileUpload ID="fuTemplate" runat="server" />
<asp:RequiredFieldValidator ID="rfTemplateFile" Display="Dynamic" ControlToValidate="fuTemplate"
runat="server" ErrorMessage="Select the Template File!" ValidationGroup="GRD"
Text="*" ForeColor="Red"></asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateField>
GridView 在更新面板内:
<asp:UpdatePanel ID="upMain" runat="server" UpdateMode="Conditional">
<ContentTemplate>
...............
..............
</ContentTemplate>
</asp:UpdatePanel>
当通过 rowcommand 我检查 fileuploader.Hasfile 时,尽管它有文件,但它总是显示 false。
我试过为网格和文件上传器设置 postbacktrigger。
但是没有用
我该如何处理这个问题?
请指导我。
也试过添加:
Page.Form.Attributes.Add("enctype", "multipart/form-data");
页面加载时
文件上传将无法使用部分 post 返回。 所以只需在页面加载时添加这一行
ScriptManager.GetCurrent(this).RegisterPostBackControl(this.YourGridviewId);
或使用PostBackTrigger
.
<Triggers>
<asp:PostBackTrigger ControlID="YourGridviewId" />
</Triggers>
或者您需要 AjaxControl 工具包中定义的特殊 AsyncFileUpload 控件。
<ajaxToolkit:AsyncFileUpload OnClientUploadError="uploadError"
OnClientUploadComplete="uploadComplete" runat="server"
ID="AsyncFileUpload1" Width="400px" UploaderStyle="Modern"
UploadingBackColor="#CCFFFF" ThrobberID="myThrobber" />
您可以检查here。