YCproject.Model.Products product = Session["products"] as YCproject.Model.Products;
        ContentPlaceHolder c = (ContentPlaceHolder)Master.FindControl("cphContent");
        FileUpload fu = c.FindControl("fuUpLoad") as FileUpload;
        if (fu != null)
            product.Parameter = fu.FileName;父控件找到了,结果fu还是Null

解决方案 »

  1.   

    cphContent不是就在自己内部吗?而且编译器可以直接给你找到,用的找绕道master?少用findcontrol,不要滥用findcontrol。我估计你写的这类代码80%都是原本不需要调用findcontrol而调用它的。
      

  2.   

    直接调不到,所以先去找父控件,再到父控件里找FileUpLoad
      

  3.   


                <asp:TemplateField HeaderText="产品序列号" SortExpression="Id">
                    <HeaderStyle CssClass="td" />
                    <ItemTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("Id") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="产品封面" SortExpression="Parameter">
                    <EditItemTemplate>
                        <asp:FileUpload ID="fuUpLoad" runat="server" />
                        <asp:Image ID="imgPic" runat="server" ImageUrl='<%# Eval("Parameter","~/ParamertImage/{0}")%>' />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Image ID="imgPic" runat="server"  ImageUrl='<%# Eval("Parameter","~/ParamertImage/{0}")%>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="产品名称" SortExpression="ProName">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtName" runat="server" Text='<%# Bind("ProName") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("ProName") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="产品祥细信息" SortExpression="ProDescription">
                    <EditItemTemplate>
                        &nbsp;<FTB:FreeTextBox ID="ftvDetails" runat="server" Text='<%# Bind("ProDescription") %>' AutoHideToolbar="False" AutoParseStyles="False" Height="260px" Width="100%">
                        </FTB:FreeTextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
      

  4.   


    runat="server" //加上这个可以吗?
      

  5.   

    在定义控件属性
    public FileUpload f
    {
    get{return FileUpload1;}
    }
    在当前页面获取
      

  6.   

    先检查下 你在加载的时候有没有调用绑定?
      要是有 那你有没有没加If(!Page.IsPostBack)
         要是都有就是获取控件是出错了!!!