如何在详细视图中为命令字段添加删除确认提示?

我想在用户尝试删除详细视图中的记录时提示用户进行确认? 我有命令提交showDeletebutton设置为true。

我找到了如何对gridview进行确认,但是如何修改以匹配详细视图?

码:

protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { // loop all data rows foreach (DataControlFieldCell cell in e.Row.Cells) { // check all cells in one row foreach (Control control in cell.Controls) { // Must use LinkButton here instead of ImageButton // if you are having Links (not images) as the command button. ImageButton button = control as ImageButton; if (button != null && button.CommandName == "Delete") // Add delete confirmation button.OnClientClick = "if (!confirm('Are you sure " + "you want to delete this record?')) return;"; } } } } 

任何人?

            

这可以在标记代码上轻松完成。 我只是将js代码添加到删除按钮的onClientClick属性中:

 OnClientClick="return confirm('Are you sure you want to delete this record');" 

或者如果你想在后面的代码中执行此操作:

  protected void DetailsView1_DataBound(object sender, EventArgs e) { LinkButton bttn = (LinkButton)DetailsView1.FindControl("lnkDelete"); bttn.OnClientClick = "return confirm('Are you sure you want to delete this record!');"; } 

我找到了问题的答案。

我的答案:

  protected void DViewComputer_DataBound1(object sender, EventArgs e) { int noRow = DViewComputer.Rows.Count - 1;//get the no of record if (noRow >0) { Button button = (Button)(DViewComputer.Rows[noRow].Cells[0].Controls[2]); // Add delete confirmation ((System.Web.UI.WebControls.Button)(button)).OnClientClick = "if (!confirm('Are you sure " + "you want to delete this record?')) return;"; } } 

无论如何,谢谢你的帮助。

  foreach (Control control in cell.Controls) { // Must use LinkButton here instead of ImageButton // if you are having Links (not images) as the command button. ImageButton button = control as ImageButton; if (button != null && button.CommandName == "Delete") // Add delete confirmation button.Attributes.Add("onclick","your javascript here"); } 

这纠正了OP的解决方案。 该代码是从以下代码中翻译而来的: http : //forums.aspfree.com/net-development-11/confirm-button-when-deleting-detailsview-120113-2.html

 protected void dvEvent_DataBound(object sender, EventArgs e) { int commandRowIndex = dvEvent.Rows.Count - 1; if (commandRowIndex > 0) { DetailsViewRow commandRow = dvEvent.Rows[commandRowIndex]; DataControlFieldCell cell = (DataControlFieldCell)commandRow.Controls[0]; foreach (Control ctrl in cell.Controls) { if (ctrl is ImageButton) { ImageButton ibt = (ImageButton)ctrl; if (ibt.CommandName == "Delete") { ibt.ToolTip = "Click here to Delete"; ibt.CommandName = "Delete"; ibt.Attributes["onClick"] = "if (!confirm('Are you sure " + "you want to delete this record?')) return;"; } } } } }