在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;
        }

在GridView's RowUpdate事件中,FileUpload返回null/Empty

我正在使用更新面板,由于它没有发布回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>