ASP .NET – 服务器控件

2013 年 5 月 21 日2930

ASP .NET教程

ASP .NET表单

ASP.NET绑定

ASP.NET数据库

数据库连接

手册

示例

ASP .NET示例

ASP .NET - 服务器控件

[前一节] [后一节]


服务器控件是能够被服务器识别的标签。


传统ASP的局限性

下面这段是从前一章复制的:

<html>



<body bgcolor="yellow">



<center>



<h2>你好,TOM!</h2>



<p><%Response.Write(now())%></p>



</center>



</body>



</html>

上面这段代码表明了传统ASP的局限性:代码块不得不放在你想要输出所在的地方。

使用传统ASP不可能把可执行代码从HTML中分离出来。这使得页面难于阅读和维护。


ASP .NET - 服务器控件

上面提到,ASP .NET已经用服务器控件解决这个“代码缠绕”的问题。

服务器控件是能够被服务器识别的标签。

服务器控件有三种:


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识别的许多事件之一:

<script runat="server">



Sub Page_Load



link1.HRef="http://http://www.zjjv.com///tom/index.html"



End Sub



</script>
<html>



<body>
<form runat="server">



<a id="link1" runat="server">访问TOM在线!</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="请你点击这里!"



End Sub



</script>
<html>



<body>
<form runat="server">



<asp:Button id="button1" Text="点击这里!"



runat="server" OnClick="submit"/>



</form>
</body>



</html>


ASP .NET – 验证服务器控件

验证服务器控件用来验证用户输入。如果用户输入不能通过验证,它将向用户显示一个错误信息。

每个验证控件履行某种特定类型的验证(例如禁止某一个特定值或者某一范围的值)。

默认情况下,当一个Button、ImageButton或者LinkButton控件被点击的时候将进行页面验证。通过把CausesValidation属性设置为false,你也可以阻止在点击按钮控件时的验证。

创建一个验证服务器控件的语法是:

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

在下面示例中我们在一个.aspx文件中声明一个TextBox控件、一个Button控件和一个RangeValidator控件。如果验证失败,将在RangeValidator 控件中显示“数值必须在1到100之间!”:

<html>



<body>
<form runat="server">



输入一个1到100之间的数字:



<asp:TextBox id="tbox1" runat="server" />



<br /><br />



<asp:Button Text="提交" runat="server" />



<br />



<asp:RangeValidator



ControlToValidate="tbox1"



MinimumValue="1"



MaximumValue="100"



Type="Integer"



EnableClientScript="false"



Text="数值必须在1到100之间!"



runat="server" />



</form>
</body>



</html>


[前一节] [后一节]

本站教程均为老猫根据外文资料翻译整理,将逐步刊出。此版本内容保证国内绝无仅有,由于时间、水平有限,有不妥之处欢迎指正。

如果能对您有所帮助,敬请赞助,老猫不胜感激!

1. 网上乞讨:

在您任何方便的时候,向以下帐号存入10元人民币(当然越多越好)。

交通银行太平洋卡

601428 7091 5592604

2. 广告投放:

在任何指定页面投放各种形式广告,价格优惠。

3. 代为宣传:

以任何形式向您的亲朋好友推荐。

0 0