如何在HTML表格行中添加ASP.NET删除按钮并通过ID删除行
在ASP.NET后台生成的表格中添加删除按钮(按Mem_id删除)
我明白你现在的需求:后台通过C#循环拼接HTML表格,想给每行加一个删除按钮,点击后能通过对应的Mem_id删除该行数据。其实很简单,我们可以直接在拼接表格的字符串里生成ASP.NET的按钮控件,并且把Mem_id作为参数传递给后台的事件处理方法。
修改你的后台C#代码
把你代码里的I WANT TO ADD ASP.NET DELETE BUTTON HERE替换成下面这段生成按钮的代码就行:
// 生成删除按钮的HTML字符串 string deleteBtn = $"<asp:Button runat=\"server\" Text=\"删除\" CommandName=\"DeleteMember\" CommandArgument=\"{ID}\" OnCommand=\"DeleteMember_Command\" />";
然后把拼接表格的那行代码改成:
tbl.Text = tbl.Text + $"<tr><td>{ID}</td><td>{Name}</td><td>{Email}</td><td>{Designation}</td><td>{Depart}</td><td>{Phone}</td><td>{MemType}</td><td>{image}</td><td>{deleteBtn}</td></tr>";
后台添加事件处理方法
接下来你需要在后台代码里添加一个处理按钮点击的方法,用来接收Mem_id并执行删除逻辑:
protected void DeleteMember_Command(object sender, CommandEventArgs e) { // 获取当前行的Mem_id string memId = e.CommandArgument.ToString(); // 这里写你的删除逻辑,比如操作数据库删除对应Mem_id的数据 // 示例: // using (SqlConnection conn = new SqlConnection(yourConnectionString)) // { // string sql = "DELETE FROM Members WHERE Mem_id = @MemId"; // SqlCommand cmd = new SqlCommand(sql, conn); // cmd.Parameters.AddWithValue("@MemId", memId); // conn.Open(); // cmd.ExecuteNonQuery(); // } // 删除后可以重新绑定表格数据,刷新页面 BindTableData(); // 这个方法是你原来用来获取数据并生成表格的方法 }
为什么这样可行?
CommandArgument会把当前行的Mem_id传递给后台事件,这样我们就能精准定位要删除的记录CommandName用来标识这个按钮的操作类型,方便在事件里区分不同的命令(如果你以后有其他按钮的话)OnCommand指定了点击按钮后要触发的后台方法
额外提示
如果你觉得用<asp:Button>生成的按钮样式不符合需求,也可以换成<asp:LinkButton>,用法几乎一样,只是呈现出来是链接样式:
string deleteBtn = $"<asp:LinkButton runat=\"server\" Text=\"删除\" CommandName=\"DeleteMember\" CommandArgument=\"{ID}\" OnCommand=\"DeleteMember_Command\" />";
内容的提问来源于stack exchange,提问作者FullStackLoser
相关产品推荐
相关产品推荐

