【问题标题】:Confirmation Message BOx function for asp.net?asp.net的确认消息框功能?
【发布时间】:2015-01-29 11:57:56
【问题描述】:

这是我点击后的Delete 函数。谁能告诉我如何做一个简单的确认功能?

ASP.net C#。

以前我有这个

ScriptManager.RegisterStartupScript(this, 
       this.GetType(),
       "script",
       "confirm('Are you sure you want to Delete Your Discussion?');", 
       true);

但上述代码在删除完成后运行。

protected void lnk_delete_Click(object sender, EventArgs e)
{
    GridViewRow grdrow = (GridViewRow)((LinkButton)sender).NamingContainer;
    string fieldID = grdrow.Cells[0].Text;

    string query = "Delete from Comment where DiscussionID=@id";

    SqlCommand cmd = new SqlCommand(query, cn);
    cmd.Parameters.AddWithValue("@id", fieldID);

    cn.Open();
    cmd.ExecuteNonQuery();
    cn.Close();

    string query1 = "Delete from Discussion where DIscussionID=@id";

    SqlCommand cmd1 = new SqlCommand(query1, cn);
    cmd1.Parameters.AddWithValue("@id", fieldID);

    cn.Open();
    cmd1.ExecuteNonQuery();
    cn.Close();

    GridView1.DataBind();
}

【问题讨论】:

  • 您应该查看Can we stop using AddWithValue() already? 并停止使用.AddWithValue() - 它可能会导致意想不到和令人惊讶的结果...
  • 另外,您应该在发送删除请求之前在客户端显示此内容。如果您确实不需要,请不要将其作为单独的步骤。

标签: c# asp.net confirmation msgbox messagedialog


【解决方案1】:

我想这取决于您将RegisterStartupScript 代码块放在哪里。理想情况下,您希望所有点击确认都在客户端而不是任何服务器端。

因此,在用户单击删除的按钮上,您需要一个客户端单击处理程序(如果它是服务器端按钮,则事件为onClientClick),该处理程序调用一个返回confirm() 结果的函数称呼。像这样的:

<asp:Button ID="lnk_delete" runat="server" onClientClick="return fnConfirmDelete();" onClick="lnk_delete_Click">Delete</asp:Button>

<script language="javascript" type="text/javascript">
function fnConfirmDelete() {
  return confirm("Are you sure you want to delete this?");
}
</script>

使用两个返回语句可确保如果用户按下取消,提交不会继续进行(即按钮单击被取消)。

【讨论】:

    【解决方案2】:

    这应该可以帮助您使其正常工作,不需要javascript部分,您也可以只使用javascript。

    <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return confirm('Are you sure?')" />
    

    您可以在此处获取更多信息: https://forums.asp.net/t/1508094.aspx?How+to+pop+up+a+confirmation+dialog+box+

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多