如何点击按钮生成控件,也就是点击一次按钮生成一个控件,而且控件的id自动增长,我做了一个但是只能得到一个控件我的代码是这样的click_num++;
FileUpload pic_up = new FileUpload();
pic_up.ID = "tupian" + click_num;
div_add_pic.Controls.Add(pic_up);
FileUpload pic_up = new FileUpload();
pic_up.ID = "tupian" + click_num;
div_add_pic.Controls.Add(pic_up);
解决方案 »
- 未能加载XXXX类型的错误求解
- 关闭父子窗体重新打开页面
- 如何给图片加连接到新闻页
- 如何实现脚本调用服务器控件????
- 跪求:弹出窗口(模态)自提交后,title变为无标题,如何解决?
- 我想在D:\UpLoadFiles下面读一个文件,但程序出错提示让我让虚拟路径下面建,但我想在D:\,e:\,f:\下面存放不同的文件?请问如何解决。能
- 提问:能不能把绑定了数据的DataSet插入Sql数据库,还是需要DataGrid插入数据库,另外怎么计算出绑定这个DataSet上的记录条数,我已经绑定
- 关于安装2003版的.net问题。。。。大家快来帮忙啊,眼睛都哭肿了。。。。。。。。。。
- XDE 2002可以安装在VS.net 2003上吗?
- 在asp.net中怎么样回到上一个页面?
- The entry 'conn' has already been added
- 求助各位大侠,像凡客那样的任选四件衣服合并成一个大礼包怎么实现啊?
再写*.cs代码FileUpload pic_up = new FileUpload();
pic_up.ID = "tupian" + hidden1.Value;
hidden1.Value=Convert.ToString(int.Parse(hidden1.Value)+1);
div_add_pic.Controls.Add(pic_up);试试
FileUpload[] pic_up = new FileUpload[10];
pic_up[click_num]=new FileUpload();
pic_up[click_num].ID = "tupian" + click_num;
div_add_pic.Controls.Add(pic_up[click_num])
根据asp.net页面生存周期,当你提交表单的时候,页面在服务器端其实又重新生成了然后在发还给浏览器端.
也就是说你第一次点击按钮提交后,服务器端会生成一个fileuplaod输出到浏览器端.当你第二次再点击按钮后,服务器端首先会重新生成页面,这样你第一次添加的按钮就消失了.因此你再怎么样点击按钮,都只能生成一个控件.
你可以利用js在客户端生成按钮.
protected void Page_Load(object sender, EventArgs e)
{
int j=int.Parse(h1.Value);
for (int i = 1; i < j; i++)
{
div_add_pic.Controls.Add(pic_up[i]);
}
}我这样做勉强成功了,其中h1是一个隐藏按钮。只是最多只能生成100个控件,而且人家要是一次都没点,也占用了100个FileUpload[] 内存空间,大家有没有更好的办法啊?别告诉我用客户端的,我原来用过,很麻烦的
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
ViewState["click_num"]=0;
}
int j=(int)ViewState["click_num"];
for (int i = 1; i < j; i++)
{
div_add_pic.Controls.Add(pic_up[i]);
}
ViewState["click_num"]=j+1;
}
这个方法貌似对我目前的问题有用哦
http://topic.csdn.net/u/20090630/10/55a46b38-1213-4434-86cd-53dea0f57497.html?seed=1647377247&r=58050881#r_58050881