服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP教程 - ASP.NET 事件处理

ASP.NET 事件处理

2023-05-08 03:17未知服务器之家 ASP教程

事件处理 本节为你介绍 ASP.NET事件处理。 事件是一个动作或发生的事,如鼠标单击、按键、鼠标移动,或任何系统生成的通知。一个进程通过事件进行沟通。例如,中断是系统生成的事件。当事件发生,应用程序也能够回应和管理

事件处理

本节为你介绍 ASP.NET事件处理。

事件是一个动作或发生的事,如鼠标单击、按键、鼠标移动,或任何系统生成的通知。一个进程通过事件进行沟通。例如,中断是系统生成的事件。当事件发生,应用程序也能够回应和管理。

ASP.NET 上的事件在用户机器上引发,在服务器上处理。例如,一个用户点击了在浏览器中显示的一个按钮。一个点击事件被引发。浏览器通过把它发送给服务器从而处理这个客户端事件。

服务器有一个子程序来描述当事件被引发时该做什么;这个被称为事件处理程序。因此,当事件信息被传递给服务器,它会检查点击事件是否与事件处理程序有关联。如果有关联的话,事件处理程序就会被执行。

事件参数

ASP.NET 事件处理程序一般采用两个参数并返回空。第一个参数代表了对象激发事件,第二个参数是事件参数。

一个事件的一般句法是:

private void EventName (object sender, EventArgs e);

应用程序和会话事件

最重要的应用程序事件是:

  • Application_Start – 当开启应用程序或者网页时被引发。
  • Application_End – 当停止应用程序或者网页时被引发。

同样的,最常使用的会话事件是:

  • Session_Start – 当用户最开始从应用程序上请求一个页面被引发。
  • Session_End – 当会话结束后被引发。

页面和控件事件

常见的页面和控件事件有:

  • DataBinding – 当一个控件绑定到一个数据源时被引发。
  • Disposed – 当释放页面或者控件时被引发。
  • Error – 它是一个页面事件,当有未处理的异常时发生。
  • Init – 当初始化页面或者控件时被引发。
  • Load – 当加载页面或者控件时被引发。
  • PreRender – 当显示页面或者控件时被引发。
  • Unload – 当从内存中卸载页面或者控件时被引发。

使用控件处理事件

所有的 ASP.NET 控件作为类而实现,并且当用户对其执行一个特定的动作时,它们会引发事件。比如说,当一个用户点击了一个按钮,那就生成了 Click 事件。对于处理事件来说,有内置属性和事件处理程序。事件处理应用程序被编码作为一个事件的回应,并且对其采取适当的行动。

默认情况下,Visual Studio 创建一个事件处理程序,包括处理条款的子程序。这个子句命名程序处理的控件和事件。

button 控件的 ASP 标签:

<asp:Button ID="btnCancel" runat="server" Text="Cancel" />

Click 事件的事件处理应用程序:

Protected Sub btnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCancel.Click End Sub

一个事件同样可以在没有 Handles 子句的前提下被编码。然后,处理程序必须根据适合控件属性的适当事件进行命名。

button 控件的 ASP 标签:

<asp:Button ID="btnCancel" runat="server" Text="Cancel" Onclick="btnCancel_Click" />

Click 事件的事件处理应用程序:

Protected Sub btnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) End Sub

常见的控件事件有:

事件属性控件
ClickOnClick按钮,图像按钮,链接按钮,图像导位图
CommandOnCommand按钮,图像按钮,链接按钮
TextChangedOnTextChanged文本框
SelectedIndexChangedOnSelectedIndexChanged下拉菜单,列表框,单选按钮列表,带复选框的列表框
CheckedChangedOnCheckedChanged复选框,单选按钮

一些事件导致表单立即发回到服务器,这些被称为回调事件。例如,单击事件像 Button.Click。

一些事件则不会被立即发回到服务器,这些被称为非回调事件。

例如,改变事件或者选择事件,像 TextBox.TextChanged 或者 CheckBox.CheckedChanged。这些非回调事件可以通过设置它们的 AutoPostBack 属性为 true 便可立即使它们回调。

默认事件

页面对象的默认事件是加载事件。相似地,每一个控件都有一个默认的事件。比如,按钮控件的默认事件就是 Click 事件。

默认事件处理程序可以在 Visual Studio 中创建,仅通过双击设计视图中的控件。以下表格展示了一写常见控件的默认事件:

控件默认事件
广告控件(AdRotator)AdCreated
项目列表(BulletedList)Click
按钮(Button)Click
日历控件(Calender)SelectionChanged
复选框(CheckBox)CheckedChanged
复选列表(CheckBoxList)SelectedIndexChanged
数据表格(DataGrid)SelectedIndexChanged
数据列表(DataList)SelectedIndexChanged
下拉列表(DropDownList)SelectedIndexChanged
超链接(HyperLink)Click
图像按钮(ImageButton)Click
热点(ImageMap)Click
超链接按钮(LinkButton)Click
单选或多选的下拉列表(ListBox )SelectedIndexChanged
菜单(Menu)MenuItemClick
单选按钮(RadioButton)CheckedChanged
单选按钮组(RadioButtonList)SelectedIndexChanged

示例

这个例子包括一个简单页面,上面有控件标签和一个按钮控件。当页面事件,例如 Page_Load,Page_Init,Page_PreRender 等等事件发生的时候,它就会发送一条信息,会由标签控件显示。当点击一个按钮,Button_Click 事件被引发,同样发送一条由标签展示的信息。

创建一个新的网站,从控件工具框中拖拽一个标签控件和按钮控件。使用窗口属性,相应地设置控件的 ID 为 .lblmessage. and .btnclick。设置按钮控件的文本属性为“Click”。

标记文件(.aspx):

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="eventdemo._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.zzvips.com/uploads/allimg/btmixp4bait" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="lblmessage" runat="server" > </asp:Label> <br /> <br /> <br /> <asp:Button ID="btnclick" runat="server" Text="Click" onclick="btnclick_Click" /> </div> </form> </body> </html>

双击设计视图并移动至文件后的代码。Page_Load 事件是自动创建的,其中没有任何的代码。写下以下的自我解释的代码行:

using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; namespace eventdemo { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { lblmessage.Text += "Page load event handled. <br />"; if (Page.IsPostBack) { lblmessage.Text += "Page post back event handled.<br/>"; } } protected void Page_Init(object sender, EventArgs e) { lblmessage.Text += "Page initialization event handled.<br/>"; } protected void Page_PreRender(object sender, EventArgs e) { lblmessage.Text += "Page prerender event handled. <br/>"; } protected void btnclick_Click(object sender, EventArgs e) { lblmessage.Text += "Button click event handled. <br/>"; } } }

执行页面。标签显示页面加载,页面初始化以及页面预览事件。点击按钮查看效果:

ASP.NET 事件处理

延伸 · 阅读

精彩推荐
  • ASP教程一份ASP内存的释放的实验报告

    一份ASP内存的释放的实验报告

    实验目的:验证主动释放内存变量是否有价值. 实验原始代码: script language=vbscript runat=server Dim temp1,temp2 temp1 = space(1024*1024*50) 50MB for i = 0 to 5000000 延迟 next t...

    asp教程网5052019-10-30
  • ASP教程asp 中文乱码问题解决方法

    asp 中文乱码问题解决方法

    不管什么语言乱码问题都存在,asp也不例外,本文将介绍asp中解决乱码方法,需要的朋友可以参考下...

    ASP之家6472019-07-10
  • ASP教程ASP.NET 简介

    ASP.NET 简介

    本节对 ASP.NET 进行概括,介绍了 ASP.NET 的服务器技术、开发工具以及文件扩展名。 经典 ASP Active Server Pages(动态服务器页面) ASP ,全称 Active Server Pages(...

    未知1392023-05-08
  • ASP教程asp实现后台添加wma视频文件前台显示

    asp实现后台添加wma视频文件前台显示

    想用asp来实现后台添加wma视频文件,前台显示所添加的这个视频文件,本文提供实现代码...

    服务器之家3402019-07-10
  • ASP教程NAV导致IIS调用FSO失败的解决方法

    NAV导致IIS调用FSO失败的解决方法

    症状: 当你浏览调用FileSystemObject的ASP页面时, 对页面的请求处于停止状态并最终导致页面在浏览器中的超时。 原因: 这种问题是因为 Norton Antivirus 软件...

    asp教程网5492019-11-01
  • ASP教程asp中通过fso读取和生成UTF-8编码的txt

    asp中通过fso读取和生成UTF-8编码的txt

    利用fso.OpenTextFil读取UTF-8文件或者用FSO.save生成UTF-8文件时乱码解决办法生成静态页使用的方法是读取asp页面的html代码,保存为html文件,这种方法...

    ASP之家4712019-07-07
  • ASP教程一种理论上最快的Web数据库分页方法

    一种理论上最快的Web数据库分页方法

    出了一种理论上最佳的分页方法,本篇我们就来详细说说这种最佳的分页方法。 一:构思。 在设计Web数据库时,如果我们要编历每一条纪录,那么只有采取...

    asp教程网5642019-10-26
  • ASP教程ASP所有的Session变量获取实现代码

    ASP所有的Session变量获取实现代码

    在程序调试中,有时候需要知道有多少Session变量在使用,她们的值如何?由于Session对象提供一个称为Contents的集合(Collection),我们可以通过For...Each循环来...

    asp教程网3532019-09-10