【问题标题】:Cannot find gridview EditItemTemplate in code behind在后面的代码中找不到 gridview EditItemTemplate
【发布时间】:2014-09-22 11:44:06
【问题描述】:

我试图在gridviewOnRowEditing 事件中修改TextBox 的内容,但我似乎在后面的代码中找不到TextBox 控件。

aspx中的字段:

 <asp:TemplateField HeaderText="AssignTo" SortExpression="AssignTo">
                <EditItemTemplate>
                    <asp:TextBox ID="txtAssignTo" runat="server" Text='<%# Bind("AssignTo") %>' ClientIDMode="Static"></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("AssignTo") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>

试图在后面的代码中找到它:

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridViewRow grow = GridView1.Rows[e.NewEditIndex];
            TextBox txt = grow.FindControl("txtAssignTo") as TextBox;
        }

txt 变量始终为空。不确定我在这里缺少什么。

【问题讨论】:

    标签: c# asp.net gridview textbox


    【解决方案1】:

    设置editindex后必须绑定gridview(调用其DataBind()方法)

    【讨论】:

    • 即使数据来自sql数据源?
    • 请在代码之前设置数据源和绑定研磨 TextBox txt = grow.FindControl("txtAssignTo") as TextBox;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多