在asp.net中使用confirm可以分为两种:

1.没有使用ajax,confirm会引起也面刷新

2.使用了ajax,不会刷新

A.没有使用ajax,可以用StringBuilder来完成.

(一)asp.net用StringBuilder控制后台操作javascript:confirm返回值,此方法比较烦琐
1.后台启动事件

StringBuilder sb = new StringBuilder();
        sb.Append("<script language='javascript'>");
        sb.Append("var val=window.confirm('Are you sure!');");
        sb.Append("window.document.getElementById('TextBox1').value=val;");
        sb.Append("__doPostBack('TextBox1','');");
        sb.Append("</script>");
        this.RegisterStartupScript(System.Guid.NewGuid().ToString(), sb.ToString());
2.前台代码:
 <asp:TextBox ID="TextBox1" runat="server"   AutoPostBack="true" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
3.文本框OnTextChanged="TextBox1_TextChanged"的后台事件代码
  protected void TextBox1_TextChanged(object sender, EventArgs e)
    {
        if (((TextBox)(sender)).Text != "")
        {
            if (((TextBox)(sender)).Text.ToUpper() == "TRUE")
            {
                //确定后执行另一个事件/方法 
            }
            if (((TextBox)(sender)).Text.ToUpper() == "FALSE")
            {
                //取消后执行另一个事件/方法

}

}   
    }
该事件也可以写成其它的方法驱动。只是判断TexBox1的值。
注意:该事件由AutoPostBack="true"引起页面刷新,全局变量丢失,最好使用session变量来保存需要存储的值。

(二)通过前台Javascript来确定后台执行的方法,也就多了个OnClientClick事件此方法最简单

前台按钮事件

<asp:Button ID="bt_DeleteButton" runat="server" OnClick="bt_DeleteButton_Click" OnClientClick="if(confirm('调用后台bt_DeleteButton_Click事件,确定继续吗?')){return true;}else{return false;}" Text="删除" Visible="False" />

就在页面上添加

a.OnClick后台事件,

b.OnClientClick事件,javascript的confirm,选择 确定后执行 OnClick后台是事件bt_DeleteButton_Click

B:使用了Ajax控件的页面

ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "", "alert('提示');if(confirm('是否继续执行yes)){alert('本页面继续添加')}else{window.open('productManage.aspx','_blank');}", true);

我们可能会遇到在.net后台弹出confirm对话框,然后点击确定,执行一段代码,点击取消,执行另一段代码,当然,在前台也是可以弹出confirm对话框的,但有的时候可能涉及到计算,或者取页面数据,但前台不好获取,这时候就要在后台执行这个动作了。

弹出confirm对话框我们可以这样做:

在页面上放置一个Literal控件,然后在后台赋值:

this.ltlMsg.Text = "<script language='javascript'>if(confirm('确认的消息')){ document.getElementById('cmdClose').click();}</script>";

这个看到有一个

document.getElementById('cmdClose').click();

这个就是控制流程走向的关键,其实这里是页面上放置了一个button,而且给该button定义了click事件,只不过这个button的宽度高度都是0,我们在页面上是看不到的,但它的click事件就是我们在弹出confirm对话框要做的事,当然点击取消我们可以做另一件事,无非再加一个button。

在asp.net中使用confirm可以分为两种:的更多相关文章

  1. 030. asp.net中DataList数据绑定跳转(两种方式)的完整示例

    前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.as ...

  2. 领域模型中的实体类分为四种类型:VO、DTO、DO、PO

    http://kb.cnblogs.com/page/522348/ 由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念: 概念: V ...

  3. c#ASP.NET中页面传值共有这么几种方式

    一.目前在ASP.NET中页面传值共有这么几种方式: 1.Response.Redirect("http://www.hao123.com",false); 目标页面和原页面可以在 ...

  4. 域模型中的实体类分为四种类型:VO、DTO、DO、PO

    经常会接触到VO,DO,DTO的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析. 得出的主要结论是:在项目应用中,VO对应于页面上需要显示的数据(表单),DO对应 ...

  5. 转:领域模型中的实体类分为四种类型:VO、DTO、DO、PO

    经常会接触到VO,DO,DTO的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析.得出的主要结论是:在项目应用中,VO对应于页面上需要显示的数据(表单),DO对应于 ...

  6. Ajax中的get和post两种请求方式的异同

    Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别.   1. get是把参数数据队列加到提交表单的A ...

  7. .net中对HTTP请求的两种请求:Get和Post的操作

    .net中对HTTP请求的简单操作总结 第一部分,HTTP协议的简单了解 一.           什么是HTTP协议 超文本传输协议 (HTTP-Hypertext transfer protoco ...

  8. .net中创建xml文件的两种方法

    .net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...

  9. PHP中实现MySQL嵌套事务的两种解决方案

    PHP中实现MySQL嵌套事务的两种解决方案 一.问题起源 在MySQL的官方文档中有明确的说明不支持嵌套事务: Transactions cannot be nested. This is a co ...

随机推荐

  1. 最简单的基于FFmpeg的移动端例子:IOS 视频解码器-保存

    ===================================================== 最简单的基于FFmpeg的移动端例子系列文章列表: 最简单的基于FFmpeg的移动端例子:A ...

  2. KTV2

    自制KTV点歌系统经验 重唱与切歌 1.重唱 这个简单,会了播放,就会了这个; 我们用的数组下标来确定播放歌曲,自然如果下标没变的话,那播放的就还是这首了.所以只要确定了要执行的命令是重唱就行了. 那 ...

  3. 为什么我们不喜欢用富UI控件

    我们对于理解一般意义的抽象关系并没有问题,但如第一部分使用Entity Framework 时说明的,事实恰好相反.我们还喜欢在交付应用程序时利用抽象关系,比如使用Azure等云服务.在这两种情况下, ...

  4. yzoi2226最小步数的详细解法

    Description - 问题描述 在各种棋中,棋子的走法总是一定的,如中国象棋中马走“日”.有一位小学生就想如果马能有两种走法将增加其趣味性,因此,他规定马既能按“日”走,也能如象一样走“田”字. ...

  5. 简单实现tab标签页切换

    常见面试题: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  6. webapp开发——‘手机屏幕分辨率’与‘浏览器分辨率’不要混淆

    关于webApp响应式设计遇到的问题,分享给大家,最近在做一个手机webApp,因为我手机是”米3“,屏幕截图大小是1080宽,所以css样式用@media screen and(min-width: ...

  7. TatukGIS - GisDefs - ChangeDir 函数

    函数名称  ChangeDir 所在单元  GisDefs 函数原型  function ChangeDir(const _path: String): String;   函数说明 如果 _path ...

  8. jquery如何判断div是否隐藏--useful

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 【VB】操作ODBC-DAO方式操作只能查询,不能更新插入操作解决。

    最近接手一个改善项目,需要从Access转化到SQL Server 2014,使用原有的ODBC连接方式只能查询,不能更新插入.网上一直找不到解决方案,然后自己测试一下使用ADO方式竟然可以连接了.具 ...

  10. JSP 2秒跳转到首页

    <%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%><h ...