打印本文 打印本文 关闭窗口 关闭窗口
ASP.net(VB)编程入门进阶 Ⅱ
作者:武汉SEO闵涛  文章来源:敏韬网  点击数836  更新时间:2009/4/23 10:33:44  文章录入:mintao  责任编辑:mintao

写在前面的话

.net已经上路了,前几天着重写了写asp.net(VB)的基本安装、语法、变量、原计划把服务器控制结构和过程编程也写上,但,这和asp里面的没什么区别,在循环结构里面多了一个with...end with操作一个对象的属性的,其他的都差不多,想看详细教程的请查阅Msdn,我就跳过这一节了,另外跳转结构---子例程和函数也跳过,不过,里面的模块化很有意思的,还有传递参数的时候按照引用还是值传递这个很是重要,至于其中的区别,学过c++的都知道,不太明白的请查阅相关资料......由于篇幅关系,我把事件驱动编程和回送也跳过,相应用户的事件组,这个很有必要在这里说说。

官方定义事件:事件是由来自代码外部的某种力量在应用程序中引发的一个操作.将事件驱动环境按照顺序分为以下4个部分:

1、发生一个事件,like用户单击按钮;
2、系统检测到事件,asp.net注册已发生的事件;
3、系统对事件做反应,执行一些代码;
4、系统返回其初始状态,等待下一事件;

html叶子是按照代码的顺序依次执行的,而事件驱动编程强调的是相应用户,执行事件,等待相应的思想。

ASP.NET支持3个主要的事件组,第一组是html内部的事件,这些事件在浏览器上执行。第二组包含在asp.net生成页面时自动发生,我们使用这些事件建立页面.第三种包含了用户与页面交互时发生的所有事件(这种最强大)。

事件驱动编程和回送回送是处理过程,该过程包括:浏览器将信息发送到浏览器,告诉服务器处理事件,服务器执行次事件处理程序中的代码,并将得到的html再传送到浏览器,回送只作用于有属性runat="server"的web窗口,且只有asp.net控件才能将信息传送到服务器。

下面看个事件驱动的实例结束本节.呵呵.
实例:我们要做这件事,设计一个"东西",要实现的是能加减乘除操作,并且显示出计算结果。

现看看算法吧:

sub page_load(sender as object,e as eventargs)
    btnadd.backcolor=system.drawing.color.lightgray
    btnsubtract.backcolor=system.drawing.color.lightgray
    btnfactor.backcolor=system.drawing.color.lightgray
    btnra.backcolor=system.drawing.color.lightgray
end sub

sub ca(sender as object,e as eventargs)
    select case sender.id
    case "btnadd"
        labtxt.text=cdbl(input1.text)+cdbl(input2.text)
    case "btnsubtract"
        labtxt.text=cdbl(input1.text)-cdbl(input2.text)
    case "btnfactor"
        labtxt.text=cdbl(input1.text)*cdbl(input2.text)
    case "btnra"
        labtxt.text=cdbl(input1.text)/cdbl(input2.text)
    end select

    sender.backcolor=system.drawing.color.yellow
end sub

分析上面代码:page_load事件当整个页面第一次可见时发生,这里实现了令4个按钮的背景颜色为淡灰色。子例程ca执行的是用户点击按钮操作后发生的事件,然后回送labtxt上,最后改变选择web控件对象(按钮)的背景颜色,注意到:

sub ca(sender as object,e as event)
'some code .............
end sub

它是事件处理程序提供的参数向处理程序传递参数事件信息,其中第一个参数sender提供了引发事件对象的引用,第二个参数E是一个事件类,用于捕捉所处理时间状态的信息,并传递与该事件对应的对象。

下面在视图中拉上这7个控件,注意这里需要正确填写每个控件的ID,并且要在每个按钮上添加事件:

onclick="ca"

意思就是说当点击这个按钮是发生事件ca,这是不可缺少的。
一切搞定了的话,最后的aspx页面效果就像这样:

所有源码:

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

打印本文 打印本文 关闭窗口 关闭窗口