在GridView's RowUpdate事件中,FileUpload返回null/Empty
本文关键字:FileUpload 返回 null Empty 事件 GridView RowUpdate | 更新日期: 2023-09-27 18:04:18
Problem:
FileUpload的文件名不可访问inGridView
Explanation:
我在GridView中有FileUpload,在GridView RowUpdate上,我选择FileUpload中的文件,但是当我无法在GridView的RowUpdate中获得文件名时。
<asp:TemplateField HeaderText="Select Report">
<EditItemTemplate>
<asp:FileUpload ID="fuMaintenanceScanedReport" runat="server" Width="248px" Font-Size="Smaller" EnableViewState="true"/>
</EditItemTemplate>
<ItemTemplate>
<asp:FileUpload ID="fuMaintenanceScanedReport" runat="server" Width="248px" Font-Size="Smaller" />
</ItemTemplate>
<ItemStyle Width="250px" />
</asp:TemplateField>
下面是我的代码
protected void GvSchedule_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string fileUpload = ((FileUpload)GvSchedule.Rows[e.RowIndex].Cells[3].FindControl("fuMaintenanceScanedReport")).FileName;
}
我正在使用更新面板,由于它没有发布回FileUpload服务器控件,这就是为什么没有得到文件。
I simply remove the Update panel
把它放到gridview内部的updatepanel中,并为它添加触发器。
<asp:TemplateField HeaderText="UploadImage">
<ItemTemplate>
<asp:Image ImageUrl="~/images/1.jpg" runat="server" ID="image" /> // shown only when not in edit mode
</ItemTemplate>
<EditItemTemplate>
<asp:UpdatePanel ID="UpdatePanel3" runat="server">
<ContentTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" /> // shown only in edit mode
<asp:Button ID="GridUploadButton" runat="server" Text="Upload" OnClick="GridUploadButton_Click" />
</ContentTemplate>
<Triggers> <asp:PostBackTrigger ControlID="GridUploadButton" />
</Triggers>
</EditItemTemplate>
</asp:TemplateField>