登陆注册
8724600000031

第31章 软件构造(10)

node3.Text=dt3.Rows(level3).Item(”CategoryName”)

’把第三层节点挂到到第二层节点上

node2.Nodes.Add(node3)

Next

’把第二层节点及其所有第三层字节点挂到到第一层节点上

node1.Nodes.Add(node2)

Next

’把第一层节点挂到树上

Me.TreeView1.Nodes.Add(node1)

Next

End Sub

Public Function GetData(ByVal SqlStr As String)As DataTable

Return SqlHelper.ExecuteDataset(SqlHelper.ConnectionString,CommandType.Text,_SqlStr).Tables(0)

End Function

11.如何使用DataList显示数据

ASP.NET提供了两个控件DataList和Repeater,这两个控件为呈现列表样式的数据提供了更大的灵活性。这些控件基于模板,因此没有自己的默认呈现形式。数据的呈现方式完全取决于控件模板的实现,而控件模板描述如何表示数据项。Repeater实际上并没有外观,必须要提供UI,这就意味着必须要使用一个模板。相反,DataList控件是一个捆绑到数据的列表,有一个默认的外观和丰富的行为。为这两个控件添加模板的方法是一样的。

<;%@Import Namespace=”System.Data”%>;

<;%@Import Namespace=”System.Data.SqlClient”%>;

’格式化DataList,并与数据源绑定

DataKeyField=”title_id”runat=”server”>;

书名:

CommandName=”Select”style=”color:darkred”runat=”server”ID=”Linkbutton1”

NAME=”Linkbutton1”/>;

价格:<;%#DataBinder.Eval(Container.DataItem,”price”,”{0}”)%>;

有了这个模板template,就可以指定用哪些HTML控件来组成数据,捆绑控件的每一部分。有5个模板的名字可以与DataList控件一起使用:HeaderTemplate用于控件的最顶端部分,ItemTemplate用于各个项目,Alternating—Item—Template用于其他项目,SeparatorTemplate用于各个项目之间的区域,FooterTemplate用于控件的底部。

在编辑DataList模板时,可以用VisualStudio.NET的模板编辑器进行编辑。在.NET环境中,选中DataList控件,单击鼠标右键,弹出菜单中的“项模板”。在项目模板中,控件的事件可以从DataList模板内激发,传递到与DataList本身连接的事件处理程序的命令。例如,ItemTemplate内的LinkButton可以激发Select命令。通过设置DataList的OnSelectedIndexChanged属性,可以调用事件处理程序响应此命令。

12.如何使用frame

很多商务网站的后台管理或者很多基于web管理信息系统最上面是标题区域;左下半部分是功能导航区,在图中是以树形的结构形式进行导航;右下半部分是操作区。这种界面风格简洁明了,也比较容易实现。在Web上这种界面风格常用框架(frame)来实现。

为了在.NET中使用框架,可以在工程中添加新项,选择框架页。并选择符合自己要求的框架结构。

13.如何在ASP.NET中使用JavaScript

JavaScript是被嵌入到网页中的HTML代码中,并且由浏览器来执行的脚本语言,可以用它来进行辅助设计。因为JavaScript可以被浏览器解释执行,即在客户端执行,这能提高我们网页的执行效率。例如,在页面提交前,对用户输入进行验证,出错弹出对话框,鼠标移动等功能。

下面通过一个例子来说明在ASP.NET后台如何使用JavaScript。例如,在打开某网页时,如果是非注册用户,需要弹出一个对话框进行提示,可以在PageLoad事件中写如下代码:

Private Sub Page_Load(…,…)Handles MyBase.Load

……

If not Isregiser() then

Response.Write(””)

End if

……

End sub

下例是单击按钮弹出新窗口:

Private Sub Button1_Click(…,…) Handles Button1.Click

Response.Write(””)

End Sub

6.6综合应用举例

6.6.1如何实现登录

对于软件系统,我们通过登录功能来验证用户身份,从而分配对应的用户权限。用户输入登录名和密码后,进行登录确认。确认分为两个步骤。

第一步是输入的登录名和密码是否符合格式要求。例如,规定登录名必须为20个字符以内的数字或字母组合。用控件RegularExpressionValidator来进行验证,需要在此控件的ValidationExpression属性输入正则表达式[azA—Z_0—9]{1,20}|S,并要把ControlToValidate属性定义为登录名框的名称。

同时规定登录名不能为空,那么用控件RequiredFieldValidator来进行验证。

如果验证有错误,需要提醒用户,这里使用控件ValidationSummary来显示错误的提示信息。ValidationSummary有两种显示错误的方式,一种是弹出框的形式,一种是标签的形式。下面是两种不同显示方式的属性设置。

弹出框:ShowMessageBox:true

ShowSummary:false

标签:ShowMessageBox:false

ShowSummary:true

第二步是验证登录名是否存在,密码是否正确。首先根据登录名查找有关用户的信息,如果查找不到,那么说明用户不存在。如果查找到用户信息,那么要把用户信息中的密码和界面输入的密码进行比较。如果一致,说明用户合法,分配给用户相应的权限;否则提示用户输入密码错误。

下面是具体代码:

Public Function Longin()As Integer

If Not Page.IsValid Then

Exit Function

End If

’获得确定登录名的账户记录

Dim dt As DataTable

Dim help As SqlHelper

dt=help.ExecuteDataset(SqlHelper.ConnectionString,CommandType.Text,_”GetAccountByName"”&;LogonEmailTextBox.Text&;”"”).Tables(0)

’验证是否查到了数据

If dt.Rows.Count=0 Then

clientkey=0

Return clientkey

End If

’比较密码,如果相同,则将账号付给ClientKey

If(dt.Rows(0).Item(”Password”)=LogonPasswordTextBox.Text)Then

clientkey=dt.Rows(0).Item(”AccountId”)

Return clientkey

Else

Return clientkey

End If

End Function

6.6.2如何实现注册功能

对于系统的使用,新的用户要进行登记注册,这在一些网站上是可以经常看到的。

这里强调两个问题。

第一个问题是登录名称的验证,包括以下要求。

①不能为空。使用控件RequiredFieldValidator。

②符合输入要求。比如20个字母和数字的组合,使用控件RegularExpressionValidator。

③名称唯一。使用控件CustomValidator,在程序中编写对应的处理函数,查询用户输入的登录名是否已经使用,如果已经存在这样的登录名,那么将控件CustomValidator的IsValid属性设置为false。

第二个问题是密码的确认,包括以下要求。

①不能为空。使用控件RequiredFieldValidator。

②符合输入要求。比如20个字母和数字的组合,使用控件RegularExpressionValidator。

③比较两次输入密码是否一致。使用控件CompareValidator,要使用两个CompareValidator控件,两个控件的ControlToValidate属性分别设置为要验证的控件,第一个CompareValidator控件的ControlToCompare属性为第二个CompareValidator控件验证的输入框,同理,第二个CompareValidator控件的ControlToCompare属性为第一个CompareValidator控件验证的输入框,这样就实现了两次密码的验证。

下面是具体代码:

Private Function NameExist(ByVal ClientName As String) As Boolean

Dim sql As SqlHelper

同类推荐
  • 领导干部信息化基础

    领导干部信息化基础

    本书共分6章,分别介绍了计算机网络综述;信息化的三个主要领域,即电子政务(政府信息化)、企业信息化和电子商务;PowerPoint2000中文演示文稿等内容。
  • 如何处理电脑故障

    如何处理电脑故障

    本书以问答的方式介绍了电脑会出现的各种故障,内容包括了音箱声音失真,如何处理?如何做好电脑的日常维护等等问题。
  • 信息技术教育大全-计算机网络

    信息技术教育大全-计算机网络

    信息技术教育大全-计算机网络信息技术教育大全-计算机网络信息技术教育大全-计算机网络信息技术教育大全-计算机网络信息技术教育大全-计算机网络信息技术教育大全-计算机网络信息技术教育大全-计算机网络
  • 办公软件高级应用

    办公软件高级应用

    日新月异的信息技术使计算机的应用渗透到各行各业,融入到我们的工作、学习和生活中,特别是在办公领域中运用计算机技术,可以实现办公自动化,成倍地提高工作效率。在众多的办公软件中,微软公司的Office系列软件是办公自动化软件中的佼佼者,其强大的功能深受全世界广大用户的青睐。根据当前业界的需求以及办公软件的实际应用范围,本书针对Office2003系列产品,深入讲解其高级应用知识和操作技能。
  • 中文版AutoCAD2005辅助设计宝典

    中文版AutoCAD2005辅助设计宝典

    本书全面、详细地介绍了中文版AutoCAD2005的特点、功能以及使用方法和技巧。全书共分11章,前九章分别介绍了利用中文版AutoCAD2005进行辅助设计的方法和技巧,最后两章讲解了若干综合实例。
热门推荐
  • 我的同居人来自星空

    我的同居人来自星空

    家境殷实,青春貌美,博学多才的才女兰月馨,为了做一个独立自主的人决定出来生活。然而……"你是外星人?""是啊。"她的同居人竟然是外星人!这两个人究竟会有怎样的生活呢?大家可以期待一下哦!
  • 精武兵神

    精武兵神

    他是一名医生,悬壶济世,救人无数,却没有人见过他的真正面目。他是一名特工,不善言辞,嗜血冷酷,却因为她而断送了似锦前程。孤儿?假死?谎言?这是一个针对他的设下的惊天阴谋。抽丝剥茧,顺藤摸瓜,当真相摆在他面前时,他会如何抉择。个人,国家,面对外敌的入侵,是同仇敌忾,摒弃前嫌,共同保护自己的家园。还是攘外必先安内,蚌鹤相争渔翁获利,一切,尽在精武兵神!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 我有一张异能序列表

    我有一张异能序列表

    某天,一张类似化学元素周期表的图表忽然出现在宋不凡的意识之中。&quot;叮,激活系统,奖励一次抽奖机会。”灰蒙蒙的图表蓦地点亮了一个光点,然后从第一排第一格开始无序地乱窜。……自此,宋不凡走上了一条不可思议的路。
  • 仙门遍地是奇葩

    仙门遍地是奇葩

    原来仙门竟是这般不以为耻,当真是脸皮厚到极致。师傅喜欢徒弟,徒弟却为魔界鬼祭哭得死去活来。好一个郎艳独绝,遗世独立的灵澈仙人。又好一个不知羞耻,仙门之辱的徒弟。不愧是仙门之境,遍地奇葩,魔为仙成仙,仙为魔堕魔;不疯不魔,不魔不仙(ps:纯属瞎七八扯,毫无逻辑。)
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 爱情公寓6之花瓣再次飞扬在空中

    爱情公寓6之花瓣再次飞扬在空中

    本书是延续了爱情公寓5,是为了一直把大家的青春延续下去,本书作者也是爱情公寓的铁粉,希望大家看了这本书后能一直开开心心的。
  • 茅山小生

    茅山小生

    他,死后重生,却不是穿越??他,死因奇特,让人捧腹大笑??他,道术千奇,却为何布衣??他,正义凛然,让人刮目相看??他的一生经过了许多惊心动魄的时刻,而往往……?他的能力足可以对付任何妖魔鬼怪,却不能……?他经历了哪些事,最后他死了吗?还是成仙,还是坠魔???一切的一切,非常刺激,热血,扑朔迷离???
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 魔动剑泣

    魔动剑泣

    智慧、素质和文明且拥有力量,创造、坚持和努力且只为生存,更拥有体系、社会和制度,可他妈的为什么我们会是食物!?无边无际的世界里散落着稀少却璀璨的沙尘,它们是人类的堡垒与家园,这个没有名字的世界里,灿烂辉煌的太阳比黑夜还要黑暗。我们静悄悄。