当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET入门教程:服务器控件

ASP.NET
Internet Explorer 编程简述(二)在IE中编辑OLE嵌入文档
移动窗体
.NET 2.0获取数据库连接统计数据
VB.NET 拖动无边框的窗体
利用WH_CBT Hook将非模态对话框显示为模态对话框
Aspect#应用 - 权限验证
VB 从零开始编外挂(一)
【错误解决】Unable to find script library 'WebUIValidation.js'
VB 从零开始编外挂(四)
DTD指南(3)-DTD-Elements(元素)
知识库文章MDL9745154-File:Microsoft Visual Basic 运行时库
.net手机软件开发(六)OBEX应用:文件传输部分
在winform中使用WebBrowser控件时怎样去除IE的滚动条
WINZIP及WINRAR命令!!!!!
智能客户端相关Application Block结构功能分析(二)
如何在VB中操作EXCEL(一段代码,两个可以使用的过程)
在C#中用最简洁有效的代码执行存储过程并返回数据
.Net的Collection类的一些使用说明
ASP.NET实现数据图表c
用asp.net画饼图

ASP.NET入门教程:服务器控件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 103 ::
收藏到网摘: n/a

前面简单介绍了ASP.NET的入门内容,而且介绍了一个简单的ASP.NET程序的编写方法,今天继续学习ASP.NET的服务器控件。

服务器控件是服务器可以理解的标签。

Classic ASP 的局限性

下面列出的代码是从上一节中拷贝的:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello RuanChen!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</html>

上面的代码能够反映出 Classic ASP 的局限性:代码块必须放置在需要进行输出的位置。本信息代表文章来源网页教学ruanchen.com请大家去www.ruanchen.com浏览!

通过 Classic ASP,我们是无法将可执行代码与 HTML 本身进行分离的。这使得页面难以阅读,也难以维护。

ASP.NET - 服务器控件

通过服务器控件,ASP.NET 已经解决了上面所描述的“意大利面条式代码”的问题。

服务器控件是可被服务器理解的标签。

有三种类型的服务器控件:

  • HTML 服务器控件 - 传统的 HTML 标签
  • Web 服务器控件 - 新的 ASP.NET 标签
  • Validation 服务器控件 - 用于输入验证

ASP.NET - HTML 服务器控件

HTML 服务器控件是服务器可理解的 HTML 标签。

ASP.NET 中的 HTML 元素是作为文本来进行处理的。要想使这些元素可编程,就需要向这些 HTML 元素添加 runat="server" 属性。该属性指示,此元素是一个服务器控件。同时要添加 id 属性来标识该服务器控件。id 引用可用于操作运行时的服务器控件。

注释:所有 HTML 服务器控件必须位于带有 runat="server" 属性的 <form> 标签内。runat="server" 属性指示该表单应在服务器进行处理。它同时指示其包括在内的控件可被服务器脚本访问。

在下面的例子中,我们在 .aspx 文件中声明了一个 HtmlAnchor 服务器控件。然后我们在一个事件句柄中操作该 HtmlAnchor 控件的 HRef 属性。Page_Load 事件是众多 ASP.NET 可理解的事件中的一种类型:

注释:事件句柄(event handler)是一种针对给定事件执行代码的子例程。本文由软晨学习网ruanchen.com整理发布!转载请注明出处,谢谢!

<script runat="server">
Sub Page_Load
link1.HRef="http://www.ruanchen.com"
End Sub
</script>
<html>
<body>
<form runat="server">
<a id="link1" runat="server">Visit ruanchen.com!</a>
</form>
</body>
</html>

提示:可执行代码本身已被移到 HTML 之外了。

ASP.NET - Web 服务器控件

Web 服务器控件是服务器可理解的特殊 ASP.NET 标签。

类似 HTML 服务器控件,Web 服务器控件也在服务器上创建,它们同样需要 runat="server" 属性以使其生效。不过,Web 服务器控件没有必要映射任何已存在的 HTML 元素,它们代表更复杂的元素。

创建 Web 服务器控件的语法是:

<asp:control_name id="some_id" runat="server" />

在下面的例子中,我们在 .aspx 文件中的声明了一个 Button 服务器控件。然后我们为 Click 事件创建了一个事件句柄,它可修改按钮上的文本:

<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="You clicked me!"
End Sub
</script>
<html>
<body>
<form runat="server">
<asp:Button id="button1" Text="Click me!" runat="server" OnClick="submit"/>
</form>
</body>
</html>

ASP.NET - Validation 服务器控件

Validation 服务器控件用于验证用户输入。如果用户输入没有通过验证,将给用户显示一条错误消息。

默认地,当点击 Button, ImageButton 或 LinkButton 时,页面验证才会被执行。您可通过把 CausesValidation 属性设置为 false,来阻止某个按钮控件被点击时进行验证。

创建 Validation 服务器控件的语法是:

<asp:control_name id="some_id" runat="server" />

在下面的例子中,我们在 .aspx 文件中声明了一个 TextBox 控件,一个 Button 控件,以及一个 RangeValidator 控件。如果验证失败,文本 "The value must be from 1 to 100!" 将显示在 RangeValidator 控件中:

<html>
<body>
<form runat="server">
<p>Enter a number from 1 to 100:
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
<asp:Button Text="Submit" runat="server" />
</p>
<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="The value must be from 1 to 100!"
runat="server" />
</p>
</form>
</body>
</html>