在asp.net中使用confirm可以分为两种:
在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可以分为两种:的更多相关文章
- 030. asp.net中DataList数据绑定跳转(两种方式)的完整示例
前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.as ...
- 领域模型中的实体类分为四种类型:VO、DTO、DO、PO
http://kb.cnblogs.com/page/522348/ 由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念: 概念: V ...
- c#ASP.NET中页面传值共有这么几种方式
一.目前在ASP.NET中页面传值共有这么几种方式: 1.Response.Redirect("http://www.hao123.com",false); 目标页面和原页面可以在 ...
- 域模型中的实体类分为四种类型:VO、DTO、DO、PO
经常会接触到VO,DO,DTO的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析. 得出的主要结论是:在项目应用中,VO对应于页面上需要显示的数据(表单),DO对应 ...
- 转:领域模型中的实体类分为四种类型:VO、DTO、DO、PO
经常会接触到VO,DO,DTO的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析.得出的主要结论是:在项目应用中,VO对应于页面上需要显示的数据(表单),DO对应于 ...
- Ajax中的get和post两种请求方式的异同
Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别. 1. get是把参数数据队列加到提交表单的A ...
- .net中对HTTP请求的两种请求:Get和Post的操作
.net中对HTTP请求的简单操作总结 第一部分,HTTP协议的简单了解 一. 什么是HTTP协议 超文本传输协议 (HTTP-Hypertext transfer protoco ...
- .net中创建xml文件的两种方法
.net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...
- PHP中实现MySQL嵌套事务的两种解决方案
PHP中实现MySQL嵌套事务的两种解决方案 一.问题起源 在MySQL的官方文档中有明确的说明不支持嵌套事务: Transactions cannot be nested. This is a co ...
随机推荐
- Deep Learning 学习随记(七)Convolution and Pooling --卷积和池化
图像大小与参数个数: 前面几章都是针对小图像块处理的,这一章则是针对大图像进行处理的.两者在这的区别还是很明显的,小图像(如8*8,MINIST的28*28)可以采用全连接的方式(即输入层和隐含层直接 ...
- ETLLib库走读
以前从来也没想过要去看库里的代码,咱想,那怎么也是很底层的代码,居然发现库里的代码也可以这样写,那就先读懂这个ETLLib(跨windows与Linux平台,封装了一些基本的系统调用函数,然后实现定制 ...
- codeforces 165D.Beard Graph 解题报告
题意: 给一棵树,树的每条边有一种颜色,黑色或白色,一开始所有边均为黑色,有两个操作: 操作1:将第i条边变成白色或将第i条边变成黑色. 操作2 :询问u,v两点之间仅经过黑色变的最短距离. 树链剖分 ...
- 自定义复选框 checkbox 样式
默认的复选框样式一般在项目中都很少用 ,看起来也丑丑的.这里提供一个优化样式后的复选框.原理就是隐藏掉默认样式,在用设计好的样式替代 html结构 <div> <input type ...
- Dynamic Web Module 3.0 requires Java 1.6 or newer报错
在项目的pom.xml的<build></build>标签中加入: <plugins> <plugin> <groupId>org.apac ...
- Win7系统下完全删除Mysql
今天不知为什么Mysql服务器突然连接不上,于是胡乱折腾了一番,导致最后不得不重新安装Mysql.安装不成功,服务器起不来,就是最后那步的时候服务器启动不了,这是因为Mysql在卸载的时候没有彻底卸载 ...
- TatukGIS-TGIS_ShapeArc.GetPointOnLine
function GetPointOnLine(const _distance: Double; const _offset: Double; const _part: Integer): TGIS_ ...
- GlusterFS简单配置
1.准备工作 准备三台机器(物理机或者虚拟机均可)用于安装和测试GlusterFS,其中两台用作服务器,一台用作客户端,主机名分别为: Server1.zhaogang.int 10.0.21.24 ...
- Thinking In Java 学习笔记 1-5 章
第1章 对象导论 本章主要讲OOP的思想及一些OOP基本概念 1.抽象过程:万物都是对象,对象具有状态.行为和标识.对象拥有属性和方法,以及在内存中的唯一地址. 2.每个对象都有一个接口:通过接口给对 ...
- 转:gpio_request
今天再次学习SD卡驱动,遇到pgio_request这个函数,始终不知道其什么意思,看了几遍源代码才有了点感觉.现将其关键部分再此说明一下,以备自己以后复习,或是路客参考. 一般gpio_reques ...