在学习ASP.NET的时候,由于ASP.NET是个事件驱动的语言,即事件是靠后台来实现的,可能大家遇见过一个这样的问题:
比如一个BUTTON,是服务器端控件,当要在执行操作前(比如删除数据、更新数据等),要先弹出一个对话框:比如“是否要删除数据”等之类的描述,在JSP中这个是很好实现的,但是在ASP.NET后台是不好实现的,只有通过事件回调到客户端,ASP.NET有些很好的方法:Page.RegisterStart或Page.RegisterClientScriptBlock
它的后台事件是:
private void Button_Click(object sender, System.EventArgs e)
{
if(弹出框(是否要删除数据))
{
确定删除代码 }
else
{
不删除代码
}
}
用这样的方法是实现不了的
所以我想了一个解决方案:
页面上放2个按钮,第一个用来实现(弹出对话框),第二个用来实现操作
当第一个选中了对话框中的“确定”后,程序就执行第二个按钮的事件。否则不执行操作。
代码如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace HTConfirm
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Write("删除了!");
}
#region//确认对话框
/// <summary>
/// 服务器端弹出confirm对话框
/// </summary>
/// <param name="str_Message">提示信息,例子:"您是否确认删除!"</param>
/// <param name="btn">隐藏Botton按钮Id值,比如:btn_Flow</param>
/// <param name="page">Page类</param>
public void Confirm(string str_Message,string btn,Page page)
{
page.RegisterStartupScript("","<script> if (confirm('"+str_Message+"')==true){document.forms(0)."+btn.Trim()+".click();}</script>");
}
#endregion
private void Button2_Click(object sender, System.EventArgs e)
{
this.Confirm("要删除吗?","Button1",this);
}
}
}
分享到:
相关推荐
ASP.NET学生选课系统,毕业设计(源码+论文+开题+开题报告+答辩PPT);’ 大学时做的学生选课系统,大学生基本用就可以了; 实现了网上选课系统,通过该系统,学校不同角色的用户可以通过网路完成选课系统功能:...
ASP.net的宠物商店网页源代码MyPetShop,有用户登陆、商品浏览、管理购物车已经管理员对商品进行管理等功能。
提供了一个用asp.net创建的站内搜索引擎源代码,可以根据自己的需要进行修改,功能强大
基于asp.net2.0 C#开发的网络商城 (一)、前台功能说明 ☆新闻专区 ☆全店商品 ☆会员中心 ☆购物车 ☆帮助中心 ☆客户留言 <br/>(二)、会员功能说明 ☆消息中心(会员可以给...
呵呵,这是小弟从学习以来的第二处女作,如有不足还请谅解
只要在Visual Stuio中轻松拖放即可实现强大的客户端Ajax功能,例如局部页面更新、异步回送、拖放、动画等,非常适合为现有的ASP.NET 2.0应用程序添加少量的Ajax特性,或是基于ASP.NET 2.0的一些简单Ajax功能的实现。...
ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...
经过我多年在ASP.NET方面的知识积累,自行开发了一个简单、实用、高效的基于ASP.NET 2.0的类库。而本论坛就是基于该类库而开发的一个Demo. 论坛在线演示地址:http://www.silks.cc 如何运行网站见readme.txt ...
一个基于C#+Asp.net实现的简易留言板源码。
功能齐全的校园网管理信息系统源代码 使用c#.net +SQLSERVER 带数据库
通用OA系统源代码(asp.net)包含完整源代码和数据库,除了具有传统OA的邮件、工作流、文档等功能外,还引进了项目管理和知识管理的思想,更加注重工作任务的分解、协同和监督;知识的积累、沉淀和分享,多条件跳转的分...
一个具有在线考试 及时阅卷 成绩查询以及考题和考生信息管理等功能的网络在线考试系统 !
最新版本地址: http://download.csdn.net/source/823721 演示地址: ... 核心功能介绍 ...另外,一个论坛可能还常常有星级评定,积分设置,界面管理,等等其他辅助功能。这些东西可以在日后慢慢补充。
在全面介绍ASP.NET各种编程技能的同时重点介绍了ASP.NET 2.0版本中的巨大变化,详细阐述了ASP.NET 2.0中所包含的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET Framework下构建功能强大的ASP.NET...
本文主要讲述ASP.NET网站开发者,给网站增加GZIP压缩模块,提高网页传输速度,由此增加页面显示速度。 代码采用VS2008开发,使用.net framework2.0,如果你需要用VS2005开发,把文件依次COPY过去即可。 什么是网页...
一个用asp.net开发的很不错的系统
ASP.NET MVC5高级编程(第5版.NET开发经典名著)作为Microsoft备受欢迎的MVC技术的最新版本,MVC 5是一个成熟的Web应用程序框架,支持快速的、TDD友好的开发。MVC允许开发人员创建动态的、数据驱动的网站。这样的...