当前位置:编程学习 > C#/ASP.NET >>

ASP.net(VB)编程入门进阶[基础篇二]

答案:

变量
在vbscript里面,只有一个基本数据类型,就是variant,而且不区分大小写,它的变量声名有两种方式:显式和隐式.
在vb.net里面,是有些不同的:
变量是允许在内存中存储信息,才可以执行一些数学函数,处理文本,执行其他函数等操作,变量是内存中的一个空间,一般都会被指明名称和数据类型的.
VB.NET是一种强类型的语言,so任何变量都必须有数据类型,它有4个部分:名称,内存空间,数据类型,变量的值.
使用变量时,最好明确创建或者声名,最简单的就是用关键字dim(dimension)的缩写,dim strmy ,这在无形中做了3件事:建立变量的名称,指定了类型,在内存中分配了一块空间,在变量赋值之前,内存中什么也不包含的.
 

ISnothing(srtmy)可以检查变量是否包含值,如果变量为空,ISNothing(strmy)就返回True,如果变量不是空,就返回False


请不要违背以下三个原则命名变量:
1:必须以字母开头
2:不能包含内嵌的句号/停顿或者空格
3:不能与VB.NET的保留字相同.
就像下面这样命名:
 

dim strmy as string
strmy="5do8"
dim strmy2 as string="5do8"


等技巧和vbscript里面类似的,慢慢掌握吧.

数据类型
vb.net里面有12中不同的内置数据类型,可以官方的分为3大类:
数字类型,文本型,其他类型(有人叫混合类型,我认为不太合适)
数字类型:
1:integer(整形)(范围在20亿左右),如0,12,98都是整型的.
2:byte(字节)(范围在0-255,无负数),由于它在计算机只存储一个字节,速度很快,特cool.
3:short(短整型)(范围在-32768到32767)
4:long(长整型)(很长)
5:single(单精度),可带小数部分的
6:Double(双精度)
7:Decimal(小数)(最多28位小数)

选择定义的时候要恰到好处,不要浪费内存.

文本型:
1:string(字符串)
2:char(字符)学过c++的都知道的,将文本以数的形式存储.范围是0-65535.
定义的时候双引号后面用C来表示这是个char变量,而不是string.

其他类型
1:Date(日期型)
2:boolean(布尔型) false-(0)和true(其他数字)

有时候希望变量赋值以后,在执行过程中值保持不变,用常量const.
 

const Asints as integer =-255

,修改常量的值是不被支持的.

vb.net还提供了一系列以c开头的转换函数,例如cint()等,很有用,慢慢在实践中就体会到了.


声名数组:
和其他变量一样,数组在使用前也要用关键在dim声明的,在声明的时候末尾还要加上另外一个参数,以指定数组的大小,然后可以存储最大索引值+1了,看看一个例子:
启动webmatrix,创建新文件P87.aspx
在code视图中,写入:
 

sub page_load()
    if ispostback then
    dim darr(4) as string
    darr(0)="www.blueidea.com"
    darr(1)="www.5do8.com"
    darr(2)="www.dw8.cn"
    darr(3)="www.google.com"
    darr(4)="www.usst.edu.cn"
    labtxt.text="your aaary  is " & darr(txtnum.text)
    labtxt.visible=true
    end if
end sub


在视图中插入label,buttom,input标签,,最后的源码就是:

<%@ Page Language="VB" %>
<script runat="server">

    sub page_load()
        if ispostback then
        dim darr(4) as string
        darr(0)="www.blueidea.com"
        darr(1)="www.5do8.com"
        darr(2)="www.dw8.cn"
        darr(3)="www.google.com"
        darr(4)="www.usst.edu.cn"
        labtxt.text="your aaary  is " & darr(txtnum.text)
        labtxt.visible=true
        end if
    end sub

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <p>
            <asp:TextBox id="txtnum" runat="server" BackColor="#E0E0E0" BorderColor="#C0FFC0"></asp:TextBox>
            <asp:Button id="Button1" runat="server" BackColor="#E0E0E0" BorderColor="Green" Text="submit to array" BorderStyle="Groove"></asp:Button>
        </p>
        <p>
            <asp:Label id="Labtxt" runat="server" BackColor="#004040" BorderColor="Silver" Visible="False" Width="240px" Height="28px" ForeColor="White"></asp:Label>
        </p>
        <!-- Insert content here -->
    </form>
</body>
</html>


然后运行,输入数据,显示数组的值,注意这里不要输入0-4以为的数字,负责就是越界,这在后面我们要控制的,这里只是演示数组而已.

易做图数组
和vbscript里面的及其相似,其他定义和数组一样,就多了维数.


数据集合
通常需要用不同的方法将项分组,这些高级技术在VB.NET中称为集合,包括了arraylist,hashtable,sortedlist,集合的特性如下:
1:集合可以包含不定数目的成员
2:集合中的元素仅仅因为他们处于相同的集合才易做图.
3:集合的元素不必共享相同的数据类型
4:当整个集合发生变动时,对象在集合的位置也可以改变.

理解集合就像理解链表那样理解吧.
以后用到的时候就说说,很有意思的,如果你现在就想知道他们属性的话去MSDN查查资料.

谢谢阅读.
[page_break] 
事件驱动编程和回送

写在前面的话:.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=c

上一个:获取当前Url参数的函数
下一个:ASP.net(VB)编程入门进阶[基础篇三]

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,