分享
 
 
 

ASP.net(VB)编程入门进阶 Ⅱ

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

相关文章:ASP.net(VB)编程入门进阶 Ⅰ

写在前面的话

.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页面效果就像这样:

所有源码:

<%@ Page Language="VB" %>

<script runat="server">

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

</script>

<html>

<head>

</head>

<body>

<form runat="server">

<p>

<asp:TextBox id="input1" runat="server"></asp:TextBox>

<asp:Button id="btnadd" runat="server" Text=" + " onclick="ca"></asp:Button>

<asp:Button id="btnsubtract" runat="server" Text=" - " onclick="ca"></asp:Button>

</p>

<p>

<asp:TextBox id="input2" runat="server"></asp:TextBox>

<asp:Button id="btnfactor" runat="server" Text=" * " onclick="ca"></asp:Button>

<asp:Button id="btnra" runat="server" Text=" ÷ " onclick="ca"></asp:Button>

</p>

<p>

<asp:Label id="labtxt" runat="server" Width="201px" Height="26px"></asp:Label>

</p>

<!-- Insert content here -->

</form>

</body>

</html>

对象就是能看到,感到,听到,触摸到,尝到或闻到的东西,在这里我们这样“定义”:对象是一个自包含的实体,用一组可识别的特性和行为来标识。

在面向对象的编程(oop)的编程方式,用使用下面的两个术语。

类:这是对象的模板,定义了对象的特性。

实例:这是一个真实的对象,可以与之交互的东西。

属性,方法和事件

在OOP中,下面的术语描述对象的特性。

属性:这是一个名次,描述了某个对象的属性

方法:这是一个动词,描述了对象可以完成的工作,或者希望它完成的工作。

事件:描述了对象为相应某个动作而执行的操作。

.net中的对象

在.net中,其实所有的东西都是对象。为什么要使用对象?

在编程时,对象的面向对象编程和面向对象设计的一部分,它们具有非常大的优势,许多人认为这是一个复杂的主题,但实际上,它非常简单,可以用四个简单的术语来解释:抽象、封装、多态和继承。

抽象:这是一个隐藏复杂性,类的内部工作情况,所以用户不必知道它的运作方式,就像。如果想要看电视,就不必知道电视机时如何工作的,只需打开电视机,搜索频道即可,on/off开关抽象了实际的操作,在string例子里,有一个trim方法,它可以删除字符串尾部的空格,同样不需要知道他是如何完成这个任务的,只要知道它有这个功能即可。

封装:每个对象都包含进行操作所需要的所有信息,这个对象称为封装,因此对象不比依赖其他对象来完成自己的操作,在术语TOupper()方法中,string不必到其他地方获取信息来把所有的字符转换为大写。

多态:这个术语用于表示不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行,名称一样,但底层实现的代码是不一样的。

继承:它定义了类如何相互关联,共享特性的,继承的工作方式是,定义类和子类,其中子类继承了父类的所有特性,继承的重要性是,它迫使类型相似的类具有一致性,并允许共享代码,如果决定创建一个新类,就不必定义父类的所有特性。

好了,我们看个实例吧,创建一个user类,他具有一下特性:

属性:name ,point,level

方法:post(),reply(),change()

ok,现在在你的webmatrix里面创建吧。

看看以下源码:

public class user

public sub new()

end sub

private _name as string

private _point as integer

private _level as string

public property name as string

get

return _name

 

[1] [2] [3] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有