FileUpload在GridView的RowUpdate事件中返回null / Empty

时间:2014-05-19 19:49:19

标签: c# asp.net gridview file-upload code-behind

Problem:

FileUpload的文件名无法在GridView中访问

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

2 个答案:

答案 0 :(得分:0)

我使用的是更新面板,由于它没有回发FileUpload服务器控件,这就是为什么不获取文件。

I simply remove the Update panel

答案 1 :(得分:0)

将它放在gridview中的updatepanel中并为其添加triger。

<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>