GridView中的文件上传控件

时间:2014-03-03 07:56:19

标签: c# asp.net

我在GridViewControl中有两个用于上传文件的文件上传控件,我有一个用于在gridview中上传文件的按钮,我使用它的RowCommandEvent来上传文件。如何在RowCommandEvent中获取fileupload控件的值? 这是我的GridView

   <asp:GridView ID="DgFiles" runat="server" AutoGenerateColumns="false" OnRowCommand="DgFiles_RowCommand">
                            <Columns>
                                <asp:TemplateField HeaderText="Crime" ItemStyle-HorizontalAlign="Center">
                                    <ItemTemplate>                                               
                                        <asp:Label ID="category" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Category") %>'                                ></asp:Label><br/>                                                
                                        <asp:FileUpload ID="file1" runat="server" /><br />
                                        <asp:FileUpload ID="file2" runat="server" />
                                        <asp:Button ID="btnupload" runat="server" CommandName="upload" />
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="Date" ItemStyle-HorizontalAlign="Center">
                                    <ItemTemplate>
                                        <asp:Label ID="lbldate" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Date") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="City" ItemStyle-HorizontalAlign="Center">
                                    <ItemTemplate>
                                        <asp:Label ID="lblcity" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "City") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>                                      
                            </Columns>
                        </asp:GridView>

和我的RowCommandEvent

 protected void DgFiles_RowCommand(Object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "upload")
            {
            }
        }

我必须在GridView中显示类似结构的记录,其中包含文件上传控制,如果有替代方法我可以这样做,请提示。

1 个答案:

答案 0 :(得分:1)

首先,
 您必须添加命令名称上载的命令列 第二,
您必须使用父属性在行内找到控件。

FileUpload fl1 = (FileUpload)e.Row[rowindex].Cells<cellindex>.FindControl("File1")
FileUpload fl2 = (FileUpload)e.Row[rowindex].Cells<cellindex>.FindControl("File2")

现在,您可以使用fl1fl2作为文件控件。