页面中有一按钮(ID为Button1)和一表格(ID为F),我想让每按一次按钮在表格中添加一个FileUpload控件。代码如下:protected void Button1_Click(object sender,EventArgs e)
{
HtmlTableRow HTR=new HtmlTableRow();
HtmlTableCell HTC=new HtmlTableCell();
HTC.Controls.Add(new FileUpload());
HTR.Controls.Add(HTC);
F.Rows.Add(HTR);
}这样的话只能添加一个FileUpload控件。但是如果在添加控件之前用Session保存FileUpload控件数组,按钮的Click事件中循环添加Session中的FileUpload控件数组后再添加一个新的FileUpload控件就可以无限添加下去。为什么直接用上面代码添加控件会只能添加一个呢?——————————————————————————————————————————————————————————另,我还是不太明白用DataAdapter填充DataSet获取数据表和使用DataReader获取数据表有什么不同。他们可以互相代替吗?什么情况下使用哪一种方法获取数据表的方法?
{
HtmlTableRow HTR=new HtmlTableRow();
HtmlTableCell HTC=new HtmlTableCell();
HTC.Controls.Add(new FileUpload());
HTR.Controls.Add(HTC);
F.Rows.Add(HTR);
}这样的话只能添加一个FileUpload控件。但是如果在添加控件之前用Session保存FileUpload控件数组,按钮的Click事件中循环添加Session中的FileUpload控件数组后再添加一个新的FileUpload控件就可以无限添加下去。为什么直接用上面代码添加控件会只能添加一个呢?——————————————————————————————————————————————————————————另,我还是不太明白用DataAdapter填充DataSet获取数据表和使用DataReader获取数据表有什么不同。他们可以互相代替吗?什么情况下使用哪一种方法获取数据表的方法?
DataReader 是快速向前的.不可以后退.同时,读完就要关了,不然其他的连接不能用.他占着连接的.每次只写一个,那是因为上次的已丢了,没有进行重新构建对象.
动态建的对象在回传后,你要自己再次去重构,重建此对象后,他能显示上一次的值.你用session,就相当是重新建了些对象了
如果不高的话,你觉得有这个对象的存在吗.希望你能看看基础的知识.
var input = "<INPUT type=\"file\" size=\"50\" NAME=\"File\"/><br/>";
document.getElementById('fileUpload').insertAdjacentHTML(""beforeEnd"",input);
DataReader只向前读,效率高,功能弱些
1楼正确
http://blog.csdn.net/vigorcsdn/archive/2006/01/07/572552.aspx