我通过后台代码动态的向前台添加了控件,代码如下:
ds = DbTools.getDataSetBySQL("select distinct substring(inform_type,1,1) inform_type_order_id from dim_inform_type order by 1");
GV_inform.DataSource = ds;
GV_inform.DataBind();
foreach (GridViewRow row in GV_inform.Rows)
{
PlaceHolder PH_content = (PlaceHolder)row.FindControl("PH_content");
string inform_type_order_id = ((ITextControl)row.FindControl("L_inform_type_order_id")).Text;
ds = DbTools.getDataSetBySQL("select * from dim_inform_type where inform_type like '" + inform_type_order_id + "%'");
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
CheckBox cb = new CheckBox();
cb.ID = ds.Tables[0].Rows[i]["inform_type"].ToString();
cb.Text = ds.Tables[0].Rows[i]["inform_desc"].ToString();
PH_content.Controls.Add(cb);
PH_content.Controls.Add(new LiteralControl(" "));
}
}
}
可是页面一刷新这些动态添加的控件就消失了,我也无法把控件的修改值,穿到后台去,请问哪位大侠有方法解决?
ds = DbTools.getDataSetBySQL("select distinct substring(inform_type,1,1) inform_type_order_id from dim_inform_type order by 1");
GV_inform.DataSource = ds;
GV_inform.DataBind();
foreach (GridViewRow row in GV_inform.Rows)
{
PlaceHolder PH_content = (PlaceHolder)row.FindControl("PH_content");
string inform_type_order_id = ((ITextControl)row.FindControl("L_inform_type_order_id")).Text;
ds = DbTools.getDataSetBySQL("select * from dim_inform_type where inform_type like '" + inform_type_order_id + "%'");
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
CheckBox cb = new CheckBox();
cb.ID = ds.Tables[0].Rows[i]["inform_type"].ToString();
cb.Text = ds.Tables[0].Rows[i]["inform_desc"].ToString();
PH_content.Controls.Add(cb);
PH_content.Controls.Add(new LiteralControl(" "));
}
}
}
可是页面一刷新这些动态添加的控件就消失了,我也无法把控件的修改值,穿到后台去,请问哪位大侠有方法解决?
解决方案 »
- 问题比较急,,都进来帮我看看。。
- 怎么用正则表达式提取字符串中有且仅有的连续的7位数字
- 二级导航,要求改变菜单颜色。。。。。
- 图片读取的问题 谢谢各位
- Microsoft OLE DB Provider for SQL Server 错误 '80040e14' (ASP+SQL)
- 关于group by 的问题(在线)
- 报<body>标记里字符串太长,有哪位碰过这样的问题吗,
- asp.net MVC 被问郁闷了。.
- listview中的checkbox问题
- 请问永久删除一个project 的正确方法
- 关于page_init page_load page_unload 超级简单
- menu的navigateurl不能带参数?
TextBox tx = new TextBox();
tx.ID = "textbox";
this.Form.Controls.Add(tx);
而获取这个服务器端的客户端ID来处理事件应该是
tx.ClientID.ToString();
tx.ClientID.ToString();
找到啊?创建以后一刷新不就没有了吗?
试一下