Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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 web表的每一行中动态添加“删除”和“更新”按钮_C#_Asp.net - Fatal编程技术网

C# 如何在运行时生成的asp.net web表的每一行中动态添加“删除”和“更新”按钮

C# 如何在运行时生成的asp.net web表的每一行中动态添加“删除”和“更新”按钮,c#,asp.net,C#,Asp.net,我正在尝试自己学习asp.net,因此我已经学习了如何在sql server中插入数据,以及如何从数据库中获取数据并在表中动态显示,但我尝试做的是,我希望在链接到同一行的每一行中都有两个delete和update按钮,如果我单击第1行的delete按钮,它将将该行完全从web和sql server中删除。 下面是我用来从sql server获取数据并在单击按钮时将其显示在表中的代码 protected void DisplayData_Click(object sender, EventArgs

我正在尝试自己学习asp.net,因此我已经学习了如何在sql server中插入数据,以及如何从数据库中获取数据并在表中动态显示,但我尝试做的是,我希望在链接到同一行的每一行中都有两个delete和update按钮,如果我单击第1行的delete按钮,它将将该行完全从web和sql server中删除。 下面是我用来从sql server获取数据并在单击按钮时将其显示在表中的代码

protected void DisplayData_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection(connStr);
            con.Open();
            SqlCommand cd = new SqlCommand("select * from signup",con);
            SqlDataReader rd = cd.ExecuteReader();
            if(rd.HasRows)
            {
                while(rd.Read())
                {
                    TableRow row = new TableRow();
                    TableCell cell1 = new TableCell(); 
                    cell1.Text = rd[0].ToString();
                    TableCell cell2 = new TableCell(); 
                    cell2.Text = rd[1].ToString();
                    TableCell cell3 = new TableCell(); 
                    cell3.Text = rd[2].ToString();
                    TableCell cell4 = new TableCell(); 
                    cell4.Text = rd[3].ToString();
                    TableCell cell5 = new TableCell(); cell5.Text = rd[4].ToString();
                    TableCell cell6 = new TableCell(); cell6.Text = rd[5].ToString();
                    row.Cells.Add(cell1); 
                    row.Cells.Add(cell2); 
                    row.Cells.Add(cell3); 
                    row.Cells.Add(cell4); 
                    row.Cells.Add(cell5); 
                    row.Cells.Add(cell6);
                    Table1.Rows.Add(row);
                }
            }

        }

您可以使用以下选项添加按钮:

TableCell btnCell= new TableCell();
Button btn = new Button();
btn.Id = "Id";
btn.Text = "Something";
btn.Click += new EventHandler(BtnHandler_Click);
btnCell.Controls.Add(btn);

row.Cells.Add(btnCell);
事件

protected void BtnHandler_Click(object sender, EventArgs e)
{ 
    // Do something
}
注意:看一看,对于您想要实现的目标来说,这似乎是一个更好的选择。

试试下面的代码

//Update Button
TableCell cell7 = new TableCell();
Button btn1 = new Button();
btn.Id="btnUpdate";
btn.Text = "Update";
btn.Click += new EventHandler(btnUpdate_Click);
cell7.Controls.Add(btn1);

//Delete Button
TableCell cell8 = new TableCell();
Button btn2 = new Button();
btn.Id="btnDelete";
btn.Text = "Delete";
btn.Click += new EventHandler(btnDelete_Click);
cell8.Controls.Add(btn2);

// add above two cell objects to row object
 row.Cells.Add(cell7);
 row.Cells.Add(cell8); 

//Update button event handler
protected void btnUpdate_Click(object sender,EventArgs e)
{
    // update the record
}

//Delete button event handler
protected void btnDelete_Click(object sender,EventArgs e)
{
    // Delete the record
}


ASP GridView控件可能会在这里帮助您,而不是手动创建表。它内置了用于编辑/删除按钮的挂钩。我已经做了这件事,但当我单击按钮时,它没有击中事件处理程序。需要在页面上添加动态控件,以便正确地返回到fire events。您能解释一下吗?很好的回答,先生,现在显示了按钮。但现在的问题是,这段代码没有在单击按钮时命中事件处理程序。我也使用了debbugers,但它们没有命中为什么?在.aspx页面和placeHolder.Controls.AddTable1后面的代码中添加一件事;将表对象添加到页面我在aspx中添加了asp表,其中包含标题行和冒号。并从这里动态添加更多行。