各位大侠:思归!孟子E章等快来帮忙!小弟解决不了此问题 你的代码太少,上面的没问题,可能是其他原因!请确保你的按钮第二次是不是真的激发了CLICK事件,比如在里面加入RESPONSE.WRITE("BUTTON_CLICK"),第二次按的时候是不是显示了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try<%@ Import Namespace="System.Data" %><form runat=server><asp:DataGrid id=DataGrid1 runat=server/><asp:Button id=btn runat=server Text=Add Onclick=Add /><asp:Button id=btn2 runat=server Text=Submit /></form><script language=C# runat=server>const int ColumnCount = 3;DataTable GetTable(){ DataTable dt; if (Session["MyData"] == null) { dt = new DataTable(); for (int i=1; i <= ColumnCount; i++) dt.Columns.Add("Col" + i.ToString(), typeof(string)); Session["MyData"] = dt; } return (DataTable)Session["MyData"];}void Page_PreRender(Object sender, EventArgs e){ DataGrid1.DataSource = GetTable().DefaultView; DataGrid1.DataBind();}void Add(Object sender, EventArgs e){ Random r = new Random(); DataTable dt = GetTable(); DataRow dr = dt.NewRow(); for (int j=0; j < ColumnCount; j++) { if (j==0) dr[0] = DateTime.Now.ToString(); else dr[j] = r.Next().ToString(); } dt.Rows.Add(dr);}</script> 不要意思,昨天我错了,今天一时想起,特来改正!你的错误在于服务器控件在回访时,只负责保持控件状态值,他并不保证能创键它下面的控件,所以你必须在回访时重新创造TABLEROW,如下:(C#)if(Session["index"]==null) { index = 1; } else { index = (int) Session["index"]; } for(int i=0;i<index;i++) { TableRow row = new TableRow(); TableCell cell = new TableCell(); TextBox box row.Cells.Add(cell); Table1.Rows.Add(row); Response.Write(index.ToString()); } Session["index"] = ++index; vs2005和vs2008可以一块安装在XP SP3系统下吗? 超链接一段时间不点会失效 页面点的次数多了就报错。 问一个简单的问题 html控件 radio不能选中 asp.net (vb.net)里有模块(Module)可以在里面写全局函数和类!请问在asp(C#)里与上前面模块相同功能的东西是什么? 大家来看看,如何给网站生成静态 linux下运行asp.net问题。 关于asp.net页面上checkbox数组的问题,大家来讨论! 关于动态设置Table,border的属性设置求解 如何在类里面对页面缓存? 关于一些实际开发的问题
<%@ Import Namespace="System.Data" %>
<form runat=server>
<asp:DataGrid id=DataGrid1 runat=server/>
<asp:Button id=btn runat=server Text=Add Onclick=Add />
<asp:Button id=btn2 runat=server Text=Submit />
</form>
<script language=C# runat=server>
const int ColumnCount = 3;DataTable GetTable()
{
DataTable dt;
if (Session["MyData"] == null)
{
dt = new DataTable();
for (int i=1; i <= ColumnCount; i++)
dt.Columns.Add("Col" + i.ToString(), typeof(string)); Session["MyData"] = dt;
} return (DataTable)Session["MyData"];
}
void Page_PreRender(Object sender, EventArgs e)
{
DataGrid1.DataSource = GetTable().DefaultView;
DataGrid1.DataBind();
}void Add(Object sender, EventArgs e)
{
Random r = new Random(); DataTable dt = GetTable();
DataRow dr = dt.NewRow(); for (int j=0; j < ColumnCount; j++)
{
if (j==0)
dr[0] = DateTime.Now.ToString();
else
dr[j] = r.Next().ToString();
} dt.Rows.Add(dr);
}
</script>
今天一时想起,特来改正!
你的错误在于服务器控件在回访时,只负责保持控件状态值,他并不保证能创键它下面的控件,所以你必须在回访时重新创造TABLEROW,
如下:(C#)
if(Session["index"]==null)
{
index = 1;
}
else
{
index = (int) Session["index"];
}
for(int i=0;i<index;i++)
{
TableRow row = new TableRow();
TableCell cell = new TableCell();
TextBox box
row.Cells.Add(cell);
Table1.Rows.Add(row);
Response.Write(index.ToString());
}
Session["index"] = ++index;