我的目的是动态生成一个表格然后在表格中填数据,提交后在服务器端能获得这些数据。能帮帮我吗?
代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
CreateTable();
}
}
private void CreateTable()
{
for (int i = 0; i<RowCount; i++)
{
TableRow newTableRow = new TableRow();
newTableRow.CssClass = "DataGridAlertItem";
newTableRow.EnableViewState = true;
for (int j = 0; j<ColCount; j++)
{
TableCell newTableCell = new TableCell();
newTableCell.EnableViewState = true;
newTableCell.CssClass = "DataGridItem";
TextBox newTextBox = new TextBox();
newTextBox.EnableViewState = true;
newTextBox.CssClass = "Textbox";
newTableCell.Controls.Add(newTextBox);
newTableRow.Cells.Add(newTableCell);
}
tblStock.Rows.Add(newTableRow);
}
} private void wbtn_Save_Click(object sender, System.EventArgs e)
{
for (int i=1;i< tblStock.Rows.Count;i++)
{
foreach (TableCell tableCell in tblStock.Rows[i].Cells)
{
((TextBox) tableCell.Controls[0]).Text="a";
}
}
}
代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
CreateTable();
}
}
private void CreateTable()
{
for (int i = 0; i<RowCount; i++)
{
TableRow newTableRow = new TableRow();
newTableRow.CssClass = "DataGridAlertItem";
newTableRow.EnableViewState = true;
for (int j = 0; j<ColCount; j++)
{
TableCell newTableCell = new TableCell();
newTableCell.EnableViewState = true;
newTableCell.CssClass = "DataGridItem";
TextBox newTextBox = new TextBox();
newTextBox.EnableViewState = true;
newTextBox.CssClass = "Textbox";
newTableCell.Controls.Add(newTextBox);
newTableRow.Cells.Add(newTableCell);
}
tblStock.Rows.Add(newTableRow);
}
} private void wbtn_Save_Click(object sender, System.EventArgs e)
{
for (int i=1;i< tblStock.Rows.Count;i++)
{
foreach (TableCell tableCell in tblStock.Rows[i].Cells)
{
((TextBox) tableCell.Controls[0]).Text="a";
}
}
}
你可以事先在页面放置一个,将其visible=false,需显示的时再visible=true
int Count
{
get
{
object o = ViewState["Count"];
if (o==null)
return 0;
return (int)ViewState["Count"];
}
set
{
ViewState["Count"] = value;
}
}
DropDownList AddDDL()
{
TableRow tr = new TableRow();
TableCell tc = new TableCell();
DropDownList ddl = new DropDownList();
tc.Controls.Add(ddl);
tr.Cells.Add(tc);
tbl.Rows.Add(tr);
return ddl;
}
void PopulateDLL(DropDownList ddl)
{
for (int i=1; i <=10; i++)
ddl.Items.Add(i.ToString());
}
void Page_Load(Object sender, EventArgs e)
{
for (int i=0; i < Count; i++)
{
AddDDL();
}
}
void Add(Object sender, EventArgs e)
{
DropDownList ddl= AddDDL();
PopulateDLL(ddl);
Count++;
}
</script>
<form runat=server id=form1>
<asp:Table id=tbl runat=server />
<asp:Button id=btn runat=server text=add Onclick="Add" />
<asp:Button id=btn2 runat=server text=submit/>
</form>http://www.gro.cn/user1/leejun/archives/2005-9-15/23713.html
http://blog.csdn.net/iambird/archive/2006/05/09/714204.aspx