vs2005中实现自动增行

在vs2005中,自动增行,显得有点麻烦。
有两点:
1、每次增加一行
2、增加一行后,先前行内容保留。

方法如下:
1、在页面中加入table第一行内容,多出一列留作增行按钮
2、在load中,重复增加行
for(int i =0;i<table.rows.count;i++)
{addrow();}
在页面返回中,先前页面和刷新后页面中的相同ID控件系统会默认为同一个,故内容仍会保留
3、编写addrow()函数,所增行内容与页面中每个cell中控件的ID保持一致
如TextBox tb1 =  new TextBox();
tb1.ID = "ID_txt_"+当前行号;
tc.attributes.add(tb1);
4、编写增行按钮点击函数

附大致.cs代码,未调试:
private string RowNum
{
get
{
(ViewState["RowNum"]==null)?0:ViewState["RowNum"];
}
set
{
ViewState["RowNum"]=value;
}
}
private void AddRow()
{
TableRow tr = new TableRow();
TableCell tc = new TableCell();
TextBox tb1 =  new TextBox();
tb1.ID = "ID_txt_"+当前行号;
tc.attributes.add(tb1);
tr.cells.add(tc);
Table1.rows.add(tr);
}
private void btn_click(...) // 增行按钮点击函数
{
RowNum++;
AddRow();
}
Tag标签: 自动增行
posted @ 2008-05-20 07:07 PuserChen 阅读(247) 评论(4)  编辑 收藏

  回复  引用  查看    
#1楼 2008-05-20 08:30 | 丁学      
我感觉这个功能放到客户端用JS来实现可能更好一些,每次的PostBack终归不是一件好事
“在页面返回中,先前页面和刷新后页面中的相同ID控件系统会默认为同一个,故内容仍会保留”这个是ViewState,以这种方式使用,也是相当要命的
  回复  引用  查看    
#2楼 2008-05-20 09:18 | superstar      
没有实现代码的吗?提供来看看?
  回复  引用  查看    
#3楼 [楼主]2008-05-20 12:14 | PuserChen      
@丁学
是ViewState!
这种方式确实不是很让人省心,所幸在我系统中运行了一段时间,并没有发现问题。
JS固然相对比较容易实现一点,但是在某些情况下,并不是很实用。
  回复  引用  查看    
#4楼 [楼主]2008-05-20 12:16 | PuserChen      
@superstar
谢谢关注!
代码在单位,单位不连通外网而且制度有点严格,
在自己机子上并没有!实在抱歉!
如果需要我晚上抽时间写出来~

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  博客园首页

  新闻频道

  社区

  小组

  博问

  网摘

  闪存

  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-05-21 22:22 编辑过
成果网帮您增加网站收入


相关链接: