帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP.NET编程
Visual Basic.NET语言-基础观念
作者:佚名 发布时间:2005-04-02 来源:不详
 


    在第二章〈HTML 语言〉中,我们已经学会如何用HTML 叙述将我们所要呈现的数据编辑好,并且用IE 来观看HTML 文件。但这样的网页是固定不会变动的静态网页,要让网页依照你所设定的条件而显示不同的数据,必需撰写程序才办的到,所以我们要学习如何使用程序语言。ASP.NET 支持许多种程序语言,例如VB.NET 及C# 等,在这里我们使用的是VB.NET 语言。很多使用者用过VB.NET 后下了个结论-「VB 已死」,这一点其实完全不正确;因为VB 不但没有死,而且经过改造后比以前更强悍,简直可以说是浴火重生。如果新一版的VB.NET 还和以前的VB 一样没有什么革新和进步的话,那么才真的会被宣告死刑。微软可以说是将VB 语言做一个大幅度的翻修,不但把VB 语言程序的一些特质修正的和其它程序语言一致,还让VB 更彻底的支持如继承、覆载等对象导向的能力,而且不会自动帮你做一些额外的处理;也因为这些新革新以及功能,让执行VB.NET 起来更有效率。把VB.NET 程序语言的特质修改的和其它语言一致,这样一来我们利用其它程序语言撰写程序时,就不会被这些小地方的差异所困扰。VB.NET 经过了大幅修正的好处,除了语法和其它程序语言不一样之外,语言的特质一样、所面对的对象也都一样(都是从同一个.NET 基础对象库中产生的);这样一来开发人员就可以选择他们喜好的程序语言来开发某个项目或是组件。因为这些语言都是使用.NET 基础对象库并编译成一致的IL 格式,所以最后可以将这些组件(Assemblies)组装在一起,成为我们所需要的解决方案。

基础观念
    在ASP.NET 中我们所使用的语言是VB.NET,和先前ASP 网页所使用的VB Script 有许多地方不一样。如果你学过前几版的VB 语言或是使用过VB Script 语言,建议重新将本章看过一遍,因为ASP.NET 中所用的语言是VB.NET 而不是VB Script。

数据的输出
    我们在学习许多程序语言的时候,第一个程序就是印出「Hello world」。我们也未能免俗,第一个程序是在IE 上显示「Hello world」。请打开FrontPage 后,在HTML 的窗口中输入以下程序:

    我们将程序储存于C:InetpubwwwrootCRCH02 内,选择档类型时选择「所有档案」后,将档案取名为EX01.aspx。如果IIS 安装正确,打开浏览器并输入下列地址http://127.0.0.1/cr/ch02/ex01.aspx 后,则可以看到下列结果:

结果这个动态网页执行的结果「Hello world」出现在浏览器中,表示执行成功。

IIS 动作原理

    安装好IIS 后,我们的服务器就有能力提供全球信息网的服务。IIS 在C碟中建立一个名为Inetpub 的数据夹,所有和因特网服务有关的内容,例如FTP、Mail,以及WWW 服务都存放在本数据 夹内。这里我们的重点在WWW 服务上,WWW 的服务内容是在Inetpub 目录内的次数据夹 wwwroot 中,这个数据夹是WWW 服务的根目录;当使用者连接到我们的服务器后,就是以这 个目录作为最外层的数据夹。而在浏览器中输入127.0.0.1 表示连接到本机端,如果没有指定所 要浏览的网页,IIS 会自动去找Default.htm,如果找不到再找Default.asp,最后才是Default.aspx。
    这个预设的寻找顺序及档案可以更改,各位可以执行「开始」→「程序集」→「系统管理工具」→「Internet 服务管理员」查看,并可以改变顺序以及新增或是移除预设的网页。

    我们要浏览存放在c:Inetpubwwwrootcrch02 这个路径中的EX01.aspx 这个动态网页,不可以直接使用档案总管开启,因为这样做IIS 不会去执行这个ASP.NET 的动态网页。要显示动态网页,必须要透过浏览器向Web 服务器提出浏览某个网页的要求,IIS 收到我们的要求后再依照网页的扩展名来决定如何执行。

    如果扩展名是htm 则表示是HTML 网页,IIS 直接将其内容传给使用者不做处理。若扩展名是asp 则表示是ASP 动态网页,IIS 会启动直译器将其内容实时直译执行,并将执行后的执行结果传给使用者。若扩展名是aspx 则表示是ASP.NET 动态网页,IIS 会视情形启动aspx 网页。如果aspx 网页是第一次被浏览,则启动编译器编译成IL 后,再呼叫JIT 编译器编译成机器码执行;
    若aspx 网页不是第一次被浏览且其内容也没有被改变,IIS 就直接呼叫JIT 编译器将该网页的IL档编译成机器码并且执行,两种情形都是将执行后的执行结果传给使用者浏览。

程序的执行

    了解IIS 的执行原理后,我们来看看程序代码的内容。ASP.NET 的程序代码还是架构在HTML之上,而且规定必需要写在<%%> 标注之内。ASP.NET 网页的执行依旧是一行一行执行,IIS在编译aspx 的时候,针对HTML 标注的部分会一五一十的输出,对于<%%> 内的内容视为程序代码并执行其中指定的叙述。但是程序的执行是在伺服端,使用者是看不到的。除非我们透过Response 对象,该对象提供Write 方法可将指定的数据输出至使用者的浏览器;但是所要输出的内容必需是可以被浏览器解读的HTML 等格式之数据,否则使用者是无法看到执行的结果。刚刚范例中所输出的数据为「Hello world」这段文字,VB.NET 语言规定对于文字型态的数据,必需被双引号「"」围起来。如果没有使用双引号围起来,VB.NET 则视为一个对象或是变量的名称。


物件(Object)
    刚刚我们使用了一个对象-Response,我们来看看什么是对象。在现实生活中,我们可以看的到的东西几乎都可以说是对象,例如笔、电话、键盘、屏幕、打印机等,这些对象都有其特殊的功能及特质。我们可以很清楚的分别上述对象是不同的对象,那是因为他们是属于不同的类别(Class)。类别定义了对象的特质,对象的特质就是对象的属性、方法及事件。类别好比是蓝图一样,我们在使用对象的时候,是依照类别的定义来产生对象。我们可以依据类别来产生许多
不同的对象,但他们都还是属于同一个类别;所以没有类别就没有对象。我们用笔来举个例子,
    假设我们有对象A 及对象B 都是属于笔类,那么你的脑海中大致上会浮出下面的影像:

属性(Peroperty)
    不过这两个笔类的对象有点抽象,因为除了知道是笔类外跟本没有其它信息;所以我们为这两个对象加入更具体的特质。例如对象A 笔芯的材质为蜡,颜色为蓝色,而对象B 笔芯材质为铅,颜色为黑色。这样一来我们就知道A 对象是蓝色蜡笔,而B 对象为黑色铅笔。如果再为这两个对象加入长短的特质,假设A 对象为短而B 对象为长,那么这两个笔类的对象就更具体,更可以分辨出是不同的个体。以上如材质、颜色、长短这些特质,我们称为属性(Property)。简单的说, 属性代表一个对象的状态、数据或是设定值

    了解什么是属性后,我们再来了解程序中如何设定及取回对象的属性。要在程序中控制一个对象,首先要为这个对象取一个独一无二的名称,这个用来标示对象的名称我们称为ID 属性。例如刚刚的蓝色短蜡笔我们叫A,而黑色长铅笔我们叫B。这样一来就算两种笔都是蓝色短蜡笔,我们也可以利用ID 属性来控制我们想要使用的对象。对象的命名规则为:要以英文字母为开头,中间可包含数字及底线,但是不可以有空格或标点符号。我们在为对象命名的时候,应该要以直觉的的方式对物见指定一个有意义的名称;这样一来我们就不用猜测对象A 和对象B 到底是什么东西。例如我们将上述的A 对象的名称改为WaxCrayon,B 对象改成Pencel。要设定对象的属性使用下列的语法:

    要控制一个对象,必需指定该对象的ID 属性,然后加上连结符号(就是英文句号)并指定属性名称,再利用指定运算子(就是等号)将右边叙述的处理结果存入对象的属性中。「叙述」的内容可以是数学表达式或是直接要设定的值等,在指定运算子右边的叙述VB 会先做处理,处理完毕后再将处理完的结果存入指定运算子左边的对象属性或变量中,例如:


方法(Method)
    有了属性后我们就可以设定一个对象的状态以及数据,但是这个对象还不会执行任何动作,因为我们还没有为它定义方法;方法就是对象可以执行的动作。例如刚刚的笔类别对象,我们为它设计一个叫做「写」的方法,并且规定要使用「写」这个方法的时候,必需要指定所要写的文字为何。当我们使用这个方法的时候,只要呼叫这个方法并将这个方法执行时所需要的数据一并输入即可;这个执行时所需要的数据我们称为「参数」。我们使用如下语法来使用对象的方法:

    和指定属性一样,直接指定要使用哪个对象的方法,并且规定要在方法的后面加一个小括号「()」。如果这个方法需要数据才能执行的话,就必须要在这个括号里面附加这些必要的数据。如果这个数据是文字型态,那必需用双引号「"」引起来,例如:


事件(Event)
    有了属性和方法之后,对象的特质可以说是越来越具体了。属性可以让你设定及读取对象的数据及状态,方法可以让对象执行一些动作;但是对象只有属性和方法对我们来说还不够。如果我们希望对象的某些状况有所改变时,可以发出讯息通知我们执行一些因应的动作,这时候就可以靠事件来帮我们完成。举个例子来说,我们为笔类对象加入一个「断裂」事件。如果笔芯断裂的话,我们的对象就自动会发出这个「断裂」事件来通知我们;这时候我们就可以写响应这个事件的程序,例如收到「断裂」事件后,我们就可以撰写削笔的程序来修复笔芯。所以事件就是对象所认识的动作。

    了解上述的类别、对象以及属性、方法、事件之后,我们对于对象的概念已经有一个程度的了解。ASP.NET 提供了许多类别的对象供你使用,我们可以利用这些对象帮你工作。要使用这些对象,首先要了解有哪些类别的对象,这些对象有哪些属性、方法、事件,以及如何使用这些对象所提供的属性、方法、事件;我们会在后面的章节一一位介绍。

 
 
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·Visual InterDev常见问题解答(一  (2005-03-12)
 ·Visual InterDev常见问题解答(二  (2005-03-12)
 ·Visual InterDev的概念  (2005-03-12)
 ·用Visual InterDev规划站点  (2005-03-12)
 ·在Visual InterDev中对服务器端及  (2005-03-12)
 ·使用Visual InterDev进行小组开发  (2005-03-12)
 ·在Visual J++中编写ASP COM组件  (2005-03-12)
 ·The Battle: C# VS. Visual Bas  (2005-03-12)
 ·使用 Visual C++创建Crypto加/解  (2005-03-12)
 ·用Visual C#调用Windows API函数  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统