我正在尝试修改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。不知道我在这里缺少什么。
答案 0 :(得分:1)
您必须在设置gridview
后调用editindex
(调用其DataBind()
方法)