服务器控件是服务器可理解的标签。
在传统的ASP限制
该列表下方的是上一节中复制:
<html>
<body bgcolor="yellow">
<center>
<h2>Hello w3ii!</h2>
<p> <%Response.Write(now())%> </p>
</center>
</body>
</html>
上面的代码示出了在传统的ASP的限制:该代码块具有被放置在希望的输出出现。
与传统的ASP是不可能从HTML本身分离可执行代码。 这使得页面难以阅读,且难以维护。
ASP.NET - 服务器控件
ASP.NET解决了"spaghetti-code"上述服务器控件那样的问题。
服务器控件是服务器可理解的标签。
有三种类型的服务器控件:
- HTML服务器控件 - 传统的HTML标签
- Web服务器控件 - 新的ASP.NET标签
- 验证服务器控件 - 对于输入验证
ASP.NET - HTML服务器控件
HTML服务器控件是服务器可理解的HTML标签。
在ASP.NET文件HTML元素,默认情况下,作为文本处理。 为了使这些元素可编程的,添加中用runat =“server”属性的HTML元素。 该属性指示该元素应作为一个服务器控制处理。 该id属性添加到标识服务器控制。 ID号可以被用来操纵在运行时服务器控件。
Note:所有HTML服务器控件必须是一个内<form>与标签runat="server"属性。 该runat="server"属性指示该形式应在服务器上进行处理。 这也表明,封闭的控件可以被服务器脚本访问。
在下面的例子中,我们宣布在.aspx文件中的HtmlAnchor服务器控件。 然后,我们操纵HRef中的事件处理程序的HtmlAnchor控件的属性(an event handler is a subroutine that executes code for a given event) 。 Page_Load事件是ASP.NET了解许多事件之一:
<script runat="server">
Sub Page_Load
link1.HRef="http://www.w3ii.com"
End Sub
</script>
<html>
<body>
<form runat="server">
<a id="link1" runat="server">Visit w3ii!</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文件中一个按钮服务器控件。 然后,我们创建了哪些更改按钮上的文本的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服务器控件
验证服务器控件用于验证用户输入。 如果用户输入没有通过验证,它将显示一个错误消息给用户。
每个验证控制执行特定类型的验证(比如验证针对一个特定的值或值的范围)。
默认情况下,点击一个按钮,ImageButton的,或LinkButton控件时执行页面验证。 您可以防止验证时被CausesValidation属性设置为false,点击一个按钮控制。
创建验证服务器控件的语法是:
<asp:control_name id="some_id" runat="server" />
在下面的例子中,我们声明了一个TextBox控件,一个Button控件,并在.aspx文件中一个控件的作用。 如果验证失败,该文本"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>
显示范例»