<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
InsertC();//执行添加控件方法
}
private void SFUPC()//该方法用于保存当前页面上传文件控件集到缓存中
{ ArrayList AL = new ArrayList();//创建动态增加数组
foreach (Control C in F.Controls)
{
if (C.GetType().ToString() == "System.Web.UI.HtmlControls.HtmlTableRow")
{
HtmlTableCell HTC = (HtmlTableCell)C.Controls[0];
foreach (Control FUC in HTC.Controls)
{ if (FUC.GetType().ToString() == "System.Web.UI.WebControls.TextBox")
{
TextBox FU = (TextBox)FUC;
AL.Add(FU);
}
}
}
}
Session.Add("FilesControls", AL);
}
private void InsertC()//该方法用于添加一个上传文件的控件
{
ArrayList AL = new ArrayList();
this.F.Rows.Clear();
GetInfo();
HtmlTableRow HTR = new HtmlTableRow();
HtmlTableCell HTC1 = new HtmlTableCell();
HTC1.Controls.Add(new TextBox());
HTR.Controls.Add(HTC1);
//HtmlTableCell HTC2 = new HtmlTableCell();
//HTC2.Controls.Add(new TextBox());
//HTR.Controls.Add(HTC2); //HtmlTableCell HTC3 = new HtmlTableCell();
//HTC3.Controls.Add(new TextBox());
//HTR.Controls.Add(HTC3); //HtmlTableCell HTC4 = new HtmlTableCell();
//HTC4.Controls.Add(new TextBox());
//HTR.Controls.Add(HTC4); F.Rows.Add(HTR);
SFUPC();
}
private void GetInfo()//该方法用于读取缓存中存储的上传文件控件集
{
ArrayList AL = new ArrayList();
if (Session["FilesControls"] != null)
{
AL = (System.Collections.ArrayList)Session["FilesControls"];
for (int i = 0; i < AL.Count; i++)
{
HtmlTableRow HTR = new HtmlTableRow();
HtmlTableCell HTC1 = new HtmlTableCell();
HTC1.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i]);
HTR.Controls.Add(HTC1); //HtmlTableCell HTC2 = new HtmlTableCell();
//HTC2.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i]);
//HTR.Controls.Add(HTC2); //HtmlTableCell HTC3 = new HtmlTableCell();
//HTC3.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i]);
//HTR.Controls.Add(HTC3); //HtmlTableCell HTC4 = new HtmlTableCell();
//HTC4.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i]);
//HTR.Controls.Add(HTC4);
F.Rows.Add(HTR);
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
动态增加表格的行,我可以增加行,但是增加的行只有1列,如何增加的是多列?如果把注释去掉是我做的,好象不行,不知道谁可以帮忙改一下?
private void GetInfo()//该方法用于读取缓存中存储的上传文件控件集
{
ArrayList AL = new ArrayList();
if (Session["FilesControls"] != null)
{
AL = (System.Collections.ArrayList)Session["FilesControls"];
for (int i = 0; i < AL.Count; i++)
{
HtmlTableRow HTR = new HtmlTableRow();
HtmlTableCell HTC1 = new HtmlTableCell();
HTC1.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i]);
HTR.Controls.Add(HTC1);
//重新实例化一个 控件 试下
HtmlTableCell HTC2 = new HtmlTableCell();
System.Web.UI.WebControls.TextBox newtxtbox=(System.Web.UI.WebControls.TextBox)AL[i];
HTC2.Controls.Add( newtxtbox );
HTR.Controls.Add(HTC2);
//HtmlTableCell HTC3 = new HtmlTableCell();
//HTC3.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i]);
//HTR.Controls.Add(HTC3); //HtmlTableCell HTC4 = new HtmlTableCell();
//HTC4.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i]);
//HTR.Controls.Add(HTC4);
F.Rows.Add(HTR);
}
}
}
{
HtmlTableRow HTR = new HtmlTableRow();
HtmlTableCell HTC1 = new HtmlTableCell();
HTC1.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i]);
HTR.Controls.Add(HTC1); HtmlTableCell HTC2 = new HtmlTableCell();
HTC2.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i+1]);
HTR.Controls.Add(HTC2); HtmlTableCell HTC3 = new HtmlTableCell();
HTC3.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i+2]);
HTR.Controls.Add(HTC3); HtmlTableCell HTC4 = new HtmlTableCell();
HTC4.Controls.Add((System.Web.UI.WebControls.TextBox)AL[i+3]);
HTR.Controls.Add(HTC4);
F.Rows.Add(HTR);
}
http://hiphotos.baidu.com/gxr19800108/pic/item/e6f5dbd9d407321d10df9b4f.jpg先前的只能保存一列,不能保存多列,请看图,懂我的意思了吧?