Hi,
my post should help you understand the control hierarchy
Understanding the naming container hierarchy of ASP.NET databound controls
http://aspadvice.com/blogs/joteke/ar...-controls.aspx
Essential is to realize that GridView and its rows are naming containers
which provide a new naming scope for controls hey contain (allowing the
controls to have duplicate IDs as long as IDs are unique in the local naming
scope). But the rendered ID matches controls ClientID property and name
attribute to UniqueID property , but the ID is still ID in the local scope.
E.g you can for example loop through GridView's Rows, locate the FileUpload
on every row, and do what you need to do with it
For Each gvRow As GridViewRow in gv_vendor_quotes.Rows
Dim fu_vendor_quote As FileUpload =
CType(gvRow.FindControl("fu_vendor_quote"), FileUpload)
'Here do what you need to do, you can also get row-level data from
gvRow, access DataKeys etc
Next
--
Teemu Keiski
AspInsider, ASP.NET MVP
http://blogs.aspadvice.com/joteke
http://teemukeiski.net
"Paul" <(E-Mail Removed)> wrote in message
news:A77C8540-96D6-4A48-97EC-(E-Mail Removed)...
>I have a gridview with 2 columns.
>
> One column is a BoundColumn to a part number (string).
> One column is an ItemTemplate with a FileUpload control.
>
> There can be multiple rows (i.e. part numbers) in the gridview.
>
> The user attaches a file for each part number / row.
>
> The user clicks a button after attaching all the needed files.
>
> I am having a problem accessing the FileUpload properties after the
> button's
> OnClick event.
>
> I have looked at the FindControl method, but I am having a hard time
> determining the correct control name.
>
> To make things more complicated, I am also using master pages, which
> modify
> the control's name based on the number of rows in the gridview.
>
> Can anyone point me to an example of this scenario?
>
> TIA
>
> Here is the gridview code:
>
> <asp:GridView ID="gv_vendor_quotes" runat="server"
> AutoGenerateColumns="False" CssClass="gv">
> <HeaderStyle CssClass="gv_header" />
> <AlternatingRowStyle CssClass="gv_alt_row" />
> <Columns>
> <asp:BoundField DataField="line_part_num" HeaderText="SO Part">
> <ItemStyle HorizontalAlign="Left" />
> <HeaderStyle HorizontalAlign="Left" />
> </asp:BoundField>
> <asp:TemplateField HeaderText="Vendor Quote Document">
> <ItemStyle HorizontalAlign="Center" />
> <HeaderStyle HorizontalAlign="Center" />
> <ItemTemplate>
> <asp:FileUpload ID="fu_vendor_quote" runat="server"
> /><asp:HyperLink ID="lnk_vendor_quote" runat="server" Target="_blank" />
> </ItemTemplate>
> </asp:TemplateField>
> </Columns>
> </asp:GridView>