简体   繁体   English

无法访问aspx.cs文件中的asp.net控件

[英]Can't access asp.net control in aspx.cs file

In my aspx file I have : 在我的aspx文件中,我有:

  <asp:GridView Width="100%" DataSourceID="LinqDataSource1" ID="GridView1" OnRowUpdating="GridView1_RowUpdating"
                runat="server" AutoGenerateColumns="False"
                AllowPaging="True" CssClass="gridclass" CellPadding="3" 
                AllowSorting="True" DataKeyNames="ID" >
                <FooterStyle ForeColor="#000066" BackColor="White"></FooterStyle>
                <PagerStyle ForeColor="#000066" HorizontalAlign="Left" BackColor="White"></PagerStyle>
                <HeaderStyle ForeColor="White" Font-Bold="True" BackColor="Gray"></HeaderStyle>
                <Columns>
                    <asp:CommandField ShowEditButton="True"></asp:CommandField>
                    <asp:CommandField ShowDeleteButton="true" />
                    <asp:BoundField HeaderText="ProductName" InsertVisible="False" DataField="Title">
                        <ItemStyle HorizontalAlign="Left"></ItemStyle>
                    </asp:BoundField>
                    <asp:TemplateField HeaderText="ProductImage">
                        <ItemStyle HorizontalAlign="Center"></ItemStyle>
                        <EditItemTemplate>
                            <asp:FileUpload ID="imageupload" runat="server"  />
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="#">
                                <asp:Image ID="product_image" runat="server" ImageUrl='<%# DataBinder.Eval(Container, "DataItem.Path")%>' Height="20px"
                                    Width="20px" />
                            </asp:HyperLink>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
                <SelectedRowStyle ForeColor="White" Font-Bold="True" BackColor="#669999"></SelectedRowStyle>
                <RowStyle ForeColor="#000066"></RowStyle>
            </asp:GridView>

and I want to access the result of <asp:FileUpload ID="imageupload" runat="server" /> in my aspx.cs file I can't access imageupload control to get the result . 并且我想访问aspx.cs文件中<asp:FileUpload ID="imageupload" runat="server" /> ,我无法访问imageupload控件来获取结果。

您需要执行.FindControl("imageupload")才能获得嵌套在GridView中的控件。

You can access the control in gridviewrowdatabound 您可以在gridviewrowdatabound中访问控件

protected void GridView1RowDataBound(object sender, GridViewRowEventArgs e)
{
     var file = (FileUpload) e.Row.FindControl("imageupload");
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM