繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 使用ASP.NET服务器控件

使用ASP.NET服务器控件

2007-10-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:本节将介绍一些ASP.NET服务器控件如何工作,并将这些控件传送信息的工作方式与对应的HTML窗体控件进行比较。本节还要介绍如何区分表示代码(HTML)与提供内容的代码(ASP.NET)。这些控件也称为Web控件,本书将频繁使...
关键字:控件 服务器 NET ASP

本节将介绍一些ASP.NET服务器控件如何工作,并将这些控件传送信息的工作方式与对应的HTML窗体控件进行比较。本节还要介绍如何区分表示代码(HTML)与提供内容的代码(ASP.NET)。这些控件也称为Web控件,本书将频繁使用这个术语(但偶尔它也表示ASP.NET Web控件)。

所有的Web控件都需要两个属性,第一个属性是runat=“server”,它告诉ASP.NET在服务器上处理控件,并为控件执行所有的ASP.NET功能,包括状态的创建。第二个属性是ID=“MyControlName”,以便在代码中操纵控件。

在详细讨论之前,先给出最常用的ASP.NET服务器控件,并与以前使用的HTML窗体标记符进行比较。

表 3-1

ASP.NET Web控件

对应的HTML窗体标记

作 用

,

,简单文本

显示文本

以紧凑的方式为用户提供一个选项列表,让用户从中选择

接受用户输入

允许用户从一个选项列表中做出选择

允许用户打开或关闭一项功能

把用户的输入发送到服务器

3.4.1 控件

本节首先介绍一个小的但非常有用的控件控件。在ASP.NET中,该控件用于在Web页面上显示文本。它类似于HTML的 标记。有了文本控件后,就可以在ASP.NET代码中可视化地处理其中的内容。

1. 控件的属性

控件与其他HTML窗体控件一样,也有一组可以设置的属性。runat=“server”和ID属性用于每个ASP.NET控件。其他属性都是可选的,包括:

● Text:设置标签显示的文本

● Visible:设置标签控件当前是否在页面上显示,其值必须是true或false

● BackColor:设置标签的背景色

● ForeColor:设置标签的前景色

● Height:以像素为单位设置标签的高度

● Width:设置标签控件的宽度

第2章介绍的类浏览器可以显示任何控件的所有属性。

2. 控件使用示例

的基本语法非常简单:

Sale Ends May 2nd

前缀表示该控件属于ASP.NET的内置控件集。还可以创建定制的控件,其前缀由开发人员确定。详见第13章。

放在Web页面中时,应如下所示(请参考代码下载中的文件ch03\DemoLabel01. ASPx):

ASP.NET Controls Demo

Demo of the ASP:label controp

Text of ASP:label

Text of ASP:label

这里的id属性用于惟一地标识控件,以在ASP.NET代码中引用它。runat = "server"属性指明由服务器去处理控件,并生成要传给客户的HTML代码。起始标签和结束标签之间的文本提供了要在标签中显示的字符。

另外,还可以在属性中指定文本。这样,所有的内容都包含在起始标记符中,此时需要以下面的方式结束标记符:

这里忽略了结束标记符,仅用斜线/表示标记的结束。本书中,如果标记没有结束,则优先用/来表示结束。下面的例子把文本信息的颜色设置为红色(下载文件ch03\DemoLabel02.ASPx):

下面的例子介绍如何用控件为一家旅游公司显示文本。在本例中,假设用户姓名的值以及所选择的目的地已经传递给服务器,现在只需输出一个消息,确认已收到用户的个人信息。

试一试:使用控件

(1) 打开ASP.NET Web Matrix,创建一个新文件夹ch03。在该文件夹中,创建一个新的ASP.NET页面TIO-Label.ASPx。根据需要输入代码,创建下面的页面。其中一些代码行已经由ASP.NET Web Matrix预先输入。(附录B中介绍了使用ASP.NET Web Matrix的基本技巧)。

Label Control page

Feiertag Holidays

you have selected to receive information about

. The information package will be sent to you.

(2) 通过浏览器浏览此页面,如图3-3所示。

图 3-3

代码的说明

控件的文本显示在页面上,这些文本与在标准HTML的标记符中输入的结果相同。更有趣的是,从浏览器中选择View | Source查看一下源代码,注意两个地方。首先,ASP.DLL把控件换成了标记符。第二,ASP.NET在窗体中添加了一个name=“_VIEWSTATE”的额外标记符,其值是一个长字符串。

修改ASP.NET控件

这个例子是可以工作的,但还可以在代码中修改文本。第2章曾使用Page_Load()事件中的代码来影响控件,这里也可以这么做,如下所示(应把它保存为TIO Label2.ASPx)。首先在两个控件的最后删除Text属性(在下面的代码中显示为黑体):

you have selected to receive information about

. The information package will be sent to you.

再在HTML代码的前面添加下面的ASP.NET脚本。

运行此代码,会看到输出发生改变,如图3-4所示。

图 3-4

忽略Sub和End Sub语句(只要请求或刷新页面,就会执行Page_Load()部分,详见第6章)。它们之间的代码起了很重要的作用,下面一行表示第一个控件,text表示控件的text属性。此代码行表示将Method1 的text属性设为Vervain:

Message1.Text = "Vervain"

这个例子允许修改代码,以改变控件的内容。以后的章节将讨论如何以更复杂的方式修改值,包括把文本改为从数据库中读取的数值。所有的ASP.NET控件属性都可以用相同的方式修改。例如:

Message1.Text = "Vervain"

Message1.backcolor = Drawing.color.red

Message1.font.italic=true

Message1.font.size=FontUnit.large

责任编辑:admin
相关文章