2014-03-03 4 views
0

У меня есть два элемента управления загрузкой файлов внутри GridViewControl для загрузки файлов, у меня есть кнопка для загрузки файлов внутри gridview, я использую свой RowCommandEvent для загрузки файлов. Как получить значения элементов управления файловой системой в RowCommandEvent? Это мой GridViewКонтроль загрузки файлов внутри 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, как структура, с контролем загрузки файла внутри него, если есть альтернативный способ, которым я могу это сделать, пожалуйста предлагать.

+0

http://www.dotnetfox.com/articles/file-upload-in-gridview-1008.aspx –

+0

Я видел это, этот элемент управления имеет единый контроль над загрузкой, у меня есть отдельные элементы управления для каждой строки –

ответ

0

Во-первых,
Вы должны добавить столбец команды с названием команды загрузки
второй,
Вы должны найти контроль внутри строки с помощью родительского имущества.

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

Теперь Вы можете использовать fl1 и fl2 как ваши filecontrols.

Смежные вопросы