ASP.NET Web Forms – 服务器控件简介
服务器控件是服务器可理解的标签。HTML 服务器控件是服务器可理解的 HTML 标签。 |
经典 ASP 的局限性
下面列出的代码是从上一章中复制的:
<html> <body bgcolor="yellow"> <center> <h2>Hello Runoob!</h2> <p><%Response.Write(now())%></p> </center> </body> </html>
上面的代码反映出经典 ASP 的局限性:代码块必须放置在您想要输出显示的位置。
通过经典 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" 属性的
标签内。runat="server" 属性表明了该表单必须在服务器上进行处理。同时也表明了包含在它内部的控件可被服务器脚本访问。
在下面的实例中,我们在 .aspx 文件中声明了一个 HtmlAnchor 服务器控件。然后我们在一个事件句柄(事件句柄是一种针对给定事件执行代码的子例程)中操作 HtmlAnchor 控件的 HRef 属性。Page_Load 事件是 ASP.NET 可理解的多种事件中的一种:
<script runat="server"> Sub Page_Load link1.HRef="http://www.runoob.com" End Sub </script> <html> <body> <form runat="server"> <a id="link1" runat="server">Visit RUNOOB!</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 服务器控件是用来验证用户输入的。如果用户输入没有通过验证,将显示一条错误消息给用户。
每种 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>
ASP.NET Web Forms – 服务器控件简介相关推荐
- asp.net webform 使用 html partial,ASP.NET Web Forms
ASP.NET Web Forms - 教程 ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务器脚本创建网页和网站的开发框架. ASP.NET 支持三种不同的开发模式: We ...
- ASP.NET Web Forms 转换至MVC开发
作为.NET 阵营的网页开发人员几乎都是从ASP.NET Web Forms开始接触网页开发技术的,所在在这里主要介绍一下Web Forms与MVC的差异. 一.开发概念的转变 MVC既不是程序设计语 ...
- ASP.NET Web Forms - 网站导航(Sitemap 文件)
[参考]ASP.NET Web Forms - 导航 ASP.NET 带有内建的导航控件. 网站导航 维护大型网站的菜单是困难而且费时的. 在 ASP.NET 中,菜单可存储在文件中,这样易于维护.文 ...
- ASP.NET2.0 - ASP.net MVC和ASP.net Web Forms
ASP.NET MVC是一个新的编程模型,而不是替代ASP.NET Web Forms. http://weblogs.asp.net/shijuvarghese/archive/2008/07/09 ...
- asp.net mvc 点滴 一 asp.net mvc vs asp.net web forms
MVC模式是一个大家很熟悉的设计模式,微软的asp.net mvc framework是给asp.net web forms提供了一个可替换的asp.net方案. Models:Model对象是程序的 ...
- ASP.NET Web Forms – Repeater 控件简介
Repeater 控件用于显示被绑定在该控件上的项目的重复列表. 绑定 DataSet 到 Repeater 控件 Repeater 控件用于显示被绑定在该控件上的项目的重复列表.Repeater 控 ...
- ASP.NET Web Pages – 文件简介
用来存储数据的文本文件通常被称为平面文件.常见的文本文件格式是 .txt..xml 和 .csv(逗号分隔值). 使用文本文件 在前面的章节中,我们已经了解到网页数据是存储在数据库中的. 您也可以把站 ...
- asp.net web forms page life cycle
https://msdn.microsoft.com/en-us/library/ms178472.aspx 转载于:https://www.cnblogs.com/dmdj/p/4850540.ht ...
- VS2010与.NET4系列 16.ASP.NET 4 Web Forms 更加干净的HTML标记
从今天开始会有几篇日志,介绍 ASP.NET 4 Web Forms 中的一些重要变化,即生成干净的.标准兼容的.CSS友好的标记.今天介绍对服务器控件向客户呈现"ID"属性的更好 ...
最新文章
- 十年沉淀、厚积薄发,百度CTO王海峰秀出NLP十年成果
- python是c语言写的吗-C语言是学python的基础吗?
- 【OSGI】4.实战OSGI-翻译助手项目02
- java array iterator_java数组遍历——iterator和for方法
- spock测试_用于混合Spock 1.x和JUnit 5测试的Maven项目设置
- 我与ARM的那些事儿2JINLK烧录nor flash
- grep sed awk三剑客详解
- 服务器按ctrl alt delete没有用_详细教程——用PS制作直邮广告
- SAP License:CO生产订单
- Python 判断变量类型
- 谷歌修复 Chrome 站点隔离绕过漏洞
- No module named ‘pyqt5‘解决办法
- Android 系统各个版本上https的抓包
- 李洪强iOS开发之OC[011] - 有参方法的声明实现以及调用练习
- SQL如何进行帕累托分析?(窗口函数、累计百分比分类)
- 原始JDBC连接与封装后的JDBC
- 计算输入的正数和负数个数
- 多元一次不定方程解的个数
- 具有外内学习和单色瓶颈的图像修复——两阶段渐进式图像修复示例【CVPR 2021】
- RabbitMQ-客户端源码之ChannelManager