在代码后面找不到gridview EditItemTemplate

时间:2014-09-22 11:44:07

标签: c# asp.net gridview textbox

我正在尝试修改TextBox OnRowEditing事件中gridview的内容,但我似乎无法在后面的代码中找到TextBox控件。< / p>

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变量始终为null。不知道我在这里缺少什么。

1 个答案:

答案 0 :(得分:1)

您必须在设置gridview后调用editindex(调用其DataBind()方法)