Aspx
<div>
<table style="width:40%;">
<tr>
<td>
<asp:TextBox runat="server" ID="txtRowCount"></asp:TextBox>
</td>
<td >
<asp:Button ID="btnGenerate" runat="server" Text="Generate Rows" OnClick="btnGenerate_Click" />
</td>
</tr>
<tr>
<td colspan="2">
<br />
<br />
<asp:GridView runat="server" ID="gvEmp" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Title">
<ItemTemplate>
<asp:TextBox runat="server" ID="txt" Text='<%# Bind("Title") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</div>
Code Behind
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
GenerateRows(2);
}
protected void btnGenerate_Click(object sender, EventArgs e)
{
GenerateRows(Convert.ToInt32(txtRowCount.Text));
}
void GenerateRows( int intRowCout)
{
DataRow workRow;
DataTable workTable = new DataTable();
workTable.Columns.Add("Title", typeof(System.String));
for (int i = 1; i <= intRowCout; i++)
{
workRow = workTable.NewRow();
workRow["Title"] = string.Empty;
workTable.Rows.Add(workRow);
}
gvEmp.DataSource = workTable;
gvEmp.DataBind();
}