目的:根据gridview中的记录条数,在页面中动态添加n个textbox,点击保存按钮(btnSave)后,获取n个textbox中的值。
难点:
1、创建控件不能在Page_Load或Page_Init事件中,因为此时还不知道gridview中有多少条记录。
2、textbox中需要获得用户录入的内容,如果每次点击按钮刷新页面,就要重新创建动态控件,用户录入的内容是不是就丢失了?
难点:
1、创建控件不能在Page_Load或Page_Init事件中,因为此时还不知道gridview中有多少条记录。
2、textbox中需要获得用户录入的内容,如果每次点击按钮刷新页面,就要重新创建动态控件,用户录入的内容是不是就丢失了?
解决方案 »
- 怎样实现多文件上传?
- Asp.net项目问题,求各位高手帮忙
- 关于页面打印的问题?
- Freetextbox内容存成word文档,并保留格式
- 在HTTP头中加入数字签名进行安全认证
- asp发布网站问题
- 我做了一个网上书店系统,里面的购物车模块,我用的是Girdview控件,通过querystring获得上一页面的书籍编号,从而显示书籍信息,如何取消购物车里已选的书籍?
- 编程的方式使用EditCommandColumn,怎么相应事件???
- 我在datalist里面放若干个<imagebutton><label>,怎么才能获取<imagebutton>的onclick事件。<imagebutton>的个数从数据表中得到。
- 五一加班的人举手!!!
- 数据编号
- web控件排版问题
生成后再绑定到GridView上去,
前提:先将Textbox设置成模板列。先添加上去。
总结下:1、添加模板列textBox
2、动态生成DataTable
3、绑定到GridView上去
不知道你明白没。。呵呵。。希望对你有帮助
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;namespace BlueCMS.Web
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
CreateTxtBox();
}
} protected void Button1_Click(object sender, EventArgs e)
{
CreateTxtBox();
} private void CreateTxtBox()
{
Panel1.Controls.Clear();
for (int i = 0; i < GridView1.Rows.Count; i++)
{
Label lab = GridView1.Rows[i].FindControl("xx") as Label;
TextBox txt = new TextBox();
txt.ID = "txt" + i;
txt.Text = lab.Text;
Panel1.Controls.Add(txt);
}
}
}
}
这样做asp.net设计很上路啊。
那为什么不把TextBox放到GridView中?