当前位置:编程学习 > C#/ASP.NET >>

找不到GirdView模版列中的控件。怎么办


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="Student_id" DataSourceID="SqlDataSourceStu" ForeColor="#333333" GridLines="None" OnRowEditing="GridView1_RowEditing">
                <AlternatingRowStyle BackColor="White" />
                <Columns>
                    <asp:TemplateField HeaderText="出生日期" SortExpression="Student_BornDate">
                        <EditItemTemplate>
                            <asp:DropDownList ID="ddlAlterYear" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlAlterYear_SelectedIndexChanged">
                            </asp:DropDownList>
                            <asp:DropDownList ID="ddlAlterMonth" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlAlterMonth_SelectedIndexChanged">
                            </asp:DropDownList>
                            <asp:DropDownList ID="ddlAlterDay" runat="server" AutoPostBack="True">
                            </asp:DropDownList>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text='<%# ((DateTime)Eval("Student_BornDate")).ToString("yyyy-MM-dd") %>'></asp:Label>
                        </ItemTemplate>
                        <ControlStyle Width="100px" />
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>




    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        DropDownList ddl = (DropDownList)GridView1.FindControl("ddlAlterYear");//为什么ddl得到的是一个null?如何才能得到里面的控件值呢?包括ItemTemplate,EditItemTemplate里面的
    }
gridview dropdownlist --------------------编程问答-------------------- gridview.Rows[i].Cells[i].FindControl --------------------编程问答--------------------     protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        DropDownList ddl = (DropDownList)e.Item.FindControl("ddlAlterYear")
    } --------------------编程问答-------------------- 如果没有e.Item,那么就是

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        DropDownList ddl = (DropDownList)GridView1.Rows[e.NewEditIndex].FindControl("ddlAlterYear")
    } --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
gridview.Rows[i].Cells[i].FindControl


不行我试过了,只能找到Label,编辑状态的控件找不到 --------------------编程问答--------------------
引用 3 楼 sp1234 的回复:
如果没有e.Item,那么就是

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        DropDownList ddl = (DropDownList)GridView1.Rows[e.NewEditIndex].FindControl("ddlAlterYear")
    }

不行,都是null.............
我是想获取控件后用代码添加相关数据,所以用了这么个方法 --------------------编程问答-------------------- 这个问题我还没有找到方法解决,还在寻找中
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,