JS代码Confirm确认和取消判断执行不同的事件

Default.aspx页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Are you Ready?</title>
</head>
<body>
    <form id="form1" runat="server">  
        <asp:HiddenField ID="HiddenField1" runat="server" />
        <asp:button id="Button1" runat="server" Text="Are you ready?" OnClick="Button1_Click"></asp:button>  
    </form>
</body>
</html>
Default.cs页面
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        StringBuilder strbConfirmScript = new StringBuilder();

        strbConfirmScript.Append("<script language='javascript' type='text/javascript'>\n");

        strbConfirmScript.Append("function showConfirm()\n");
        strbConfirmScript.Append("{\n  var returnValue=confirm('Are you Sure?');\n");
        strbConfirmScript.Append("  if(returnValue!=undefined) \n document.getElementById('HiddenField1').value=returnValue; \n");
        strbConfirmScript.Append("}\n");
        strbConfirmScript.Append("</script>\n");

        ClientScript.RegisterClientScriptBlock(this.GetType(), "AreYouConfirm", strbConfirmScript.ToString());

        Button1.Attributes.Add("onclick", "showConfirm()");
    }
    protected void Button1_Click(object sender, System.EventArgs e)
    {
        if (HiddenField1.Value == "true")
            ClientScript.RegisterStartupScript(this.GetType(), "script", "alert('A');", true);
        else
            ClientScript.RegisterStartupScript(this.GetType(), "script", "alert('B');", true);

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 ASP.NET 后台代码中,可以使用 JavaScriptconfirm() 函数来实现确认操作的判断。具体步骤如下: 1. 在后台代码中,编写需要进行确认操作的按钮或链接的点击事件: ```csharp protected void btnDelete_Click(object sender, EventArgs e) { // 弹出确认框 string confirmScript = "return confirm('确定要删除该记录吗?');"; Page.ClientScript.RegisterStartupScript(this.GetType(), "confirmDelete", confirmScript, true); // 执行删除操作 DeleteRecord(); } ``` 2. 注册客户端脚本,调用 confirm() 函数,弹出确认框。这里使用了 Page.ClientScript.RegisterStartupScript() 方法,将 confirm() 函数的调用代码注册到页面的头部,确保在页面加载完毕时被执行。 3. 如果用户点击了确认按钮,则 confirm() 函数的返回值为 true,继续执行删除操作。否则,返回值为 false,取消删除操作。 ```csharp private void DeleteRecord() { // 判断用户是否确认删除 if (Page.ClientScript.IsStartupScriptRegistered(this.GetType(), "confirmDelete") && !Page.ClientScript.IsStartupScriptRegistered(this.GetType(), "confirmDeleteExecuted")) { string confirmScript = "if (!confirm('确定要删除该记录吗?')) { return false; }"; Page.ClientScript.RegisterStartupScript(this.GetType(), "confirmDeleteExecuted", confirmScript, true); } else { // 执行删除操作 // ... } } ``` 4. 在执行删除操作前,再次判断用户是否确认删除。这里使用了 Page.ClientScript.IsStartupScriptRegistered() 方法,判断 confirm() 函数的调用代码是否已经被注册。如果已经注册,则说明用户已经点击了确认按钮,执行删除操作。如果未注册,则说明用户还没有进行确认操作,返回 false,取消删除操作。 需要注意的是,如果页面中有多个需要进行确认操作的按钮或链接,必须为每个操作分别注册不同的客户端脚本,并使用不同的注册 key。同时,需要在执行删除操作前,判断每个操作对应的客户端脚本是否已经被注册。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值