【发布时间】:2015-05-11 14:53:59
【问题描述】:
我正在网格视图中添加一个文本框。
当用户单击添加按钮时,会创建一个新文本框。
我正在从文本框中获取所有数据,但是当我添加数据时,文本框没有显示任何内容
private void SetPreviousTids(DataTable dt)
{
if (ViewState["TidTable"] != null)
{
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
TextBox Tid = (TextBox)GridView1.Rows[i].Cells[0].FindControl("Tid");
Response.Write(Tid.Text.ToString());
Tid.Text = "hello";// text not showing on text box
}
}
}
}
这里是ASPX代码
<asp:GridView ID="GridView1" runat="server" Visible="true">
<Columns>
<asp:TemplateField HeaderText="TID">
<ItemTemplate>
<asp:TextBox ID="Tid" runat="server"></asp:TextBox>
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="ButtonAdd" runat="server" Text="+" OnClick="Add_Tid" />
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
【问题讨论】:
-
您应该将 SetPreviousTids 代码放在 gridview_RowDataBound 处理程序中,并使用 RowEventArgs 访问控件。