C#用循环语句计划自动生成5行4列的表格时,结果生成了10行4列,求解!!!

2025-03-24 10:00:05
推荐回答(2个)
回答1:

中的【onload="Page_Load"】去掉;

页面加载时会自动调用Page_Load事件,而table的onload事件又再次调用了Page_Load,所以就生成了10行。

这跟 if(!IsPostBack){}没有关系,但是还是加上的好:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                for (int i = 0; i < 5; i++)
                {
                    HtmlTableRow r = new HtmlTableRow();
                    r.BgColor = "red";
                    for (int j = 0; j < 4; j++)
                    {
                        HtmlTableCell c = new HtmlTableCell();
                        c.InnerText = i.ToString();
                        r.Cells.Add(c);
                    }
                    table1.Rows.Add(r);
                }
            }
        }

希望能帮到你,还望采纳

回答2:

在这里加上
if(!IsPostBack){
for (int i = 0; i < 5; i++)
        {
            HtmlTableRow r = new HtmlTableRow();
            r.BgColor = "red";
            for (int j = 0; j < 4; j++)
            {
                HtmlTableCell c = new HtmlTableCell();
                c.InnerText = i.ToString();
                r.Cells.Add(c);
            }             
            table1.Rows.Add(r);        
        }
        }