Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net中代码生成表中的属性_C#_Asp.net - Fatal编程技术网

C# asp.net中代码生成表中的属性

C# asp.net中代码生成表中的属性,c#,asp.net,C#,Asp.net,我正在asp.net上做一个练习,使用代码生成的表和一个非常简单的代码: protected void btnAceptar_Click(object sender, EventArgs e) { tblGenerar.Controls.Clear(); for(int i = 0; i < Convert.ToInt32(txtRows.Text);i++) { TableRow r

我正在asp.net上做一个练习,使用代码生成的表和一个非常简单的代码:

protected void btnAceptar_Click(object sender, EventArgs e)
    {
        tblGenerar.Controls.Clear();            

        for(int i = 0; i < Convert.ToInt32(txtRows.Text);i++)
        {
            TableRow rowNew = new TableRow();
            tblGenerar.Rows.Add(rowNew);

            for (int j = 0; j < Convert.ToInt32(txtCols.Text);j++ )
            {
                TableCell cellNew = new TableCell();
                rowNew.Cells.Add(cellNew);
                cellNew.Text = txtTexto.Text;

                if (chkMargen.Checked == true)
                {
                    cellNew.BorderStyle = BorderStyle.Inset;
                    cellNew.BorderWidth = 1;
                }
            }
        }
    }
受保护的无效btnAceptar\u单击(对象发送方,事件参数e)
{
tblgenear.Controls.Clear();
for(int i=0;i
第一次选择在表上创建边框时,它可以工作,但下一次选择生成不带边框的表时,上次生成的表的边框仍然存在。显示没有边框的其他单元格

如果我使用Controls.Clear(),为什么会发生这种情况?我如何解决它?

谢谢。

在代码中添加else条件

        else
        {
            cellNew.BorderStyle = BorderStyle.None;
            cellNew.BorderWidth = 0;
        }
或者你也可以做如下的事情

cellNew.BorderStyle = BorderStyle.None;
                    if (chkMargen.Checked == true)
                    {
                        cellNew.BorderStyle = BorderStyle.Inset;
                        cellNew.BorderWidth = 1;
                    }
你就完了


这是因为一旦生成表,您就无法对其应用更改,为此,您需要先显式删除边框,然后在选中复选框时应用。

您好,感谢您的回复,我知道,但是如果事件发生在页面呈现之前,asp为什么要保留旧代码?再次感谢,非常感谢!我认为代码是在每次回滚时从0重新生成的。