Web 窗体介绍
ASP.NET Web 窗体页框架是可以在服务器上用于动态生成 Web 页的可缩放公共语言运行库编程模型。
ASP.NET Web 窗体页框架是可以在服务器上用于动态生成 Web 页的可缩放公共语言运行库编程模型。
作为 ASP 的逻辑演变(ASP.NET 提供与现有页的语法兼容性),ASP.NET Web 窗体框架被特别设计为弥补前一模型中若干主要的不足之处。具体说来,它提供:
- 创建和使用可封装常用功能的可重用 UI 控件,并由此减少页开发人员必须编写的代码量的能力。
- 开发人员以有序的形式(而不是“面条式代码”)清晰地构造页逻辑的能力。
- 开发工具为页提供强大的 WYSIWYG 设计支持的能力(现有的 ASP 代码对工具不透明)。
本“入门”节提供一些主要 ASP.NET Web 窗体功能的高级代码演练。后面的“入门”节深入探讨具体的细节。
Web 窗体控件引用一节中可以找到所有内置服务器控件的详细列表。
Web 窗体控件引用)。除了使用内置 ASP.NET 控件外,开发人员还可使用由第三方供应商开发的控件。
下面的示例显示一个简单的日历控件。Calendar 控件在页内由 <acme:calendar runat=server> 标记声明。注意,页顶部的 <% Register %> 指令负责向控件实现的“Acme”代码命名空间注册“Acme”XML 标记前缀。ASP.NET 页分析器然后将在运行时利用该命名空间加载 Calendar 控件类实例。
[ 运行示例] | [ 查看源代码] |
本例中的 Calendar 控件被设计为在 Internet Explorer 5.5 上执行“上层样式”处理,在所有其他浏览器上执行“下层”处理。此浏览器探测技术在任何相近的方面都没有 ASP.NET 内置服务器控件提供的复杂。对于 Internet Explorer 5.5 浏览器,它生成 DHTML 输出。在选择日期和定位月份时,此 DHTML 输出不要求与服务器间的往返行程。对于所有其他浏览器,它生成标准的 HTML 3.2。此 HTML 3.2 确实要求与服务器间的往返行程以处理客户端的用户交互。
重要说明:无论是用“上层”还是“下层”浏览器访问页,页开发人员编写的代码都相同。Calendar 控件本身封装处理这两种情况所需要的所有逻辑。
本节小结
- ASP.NET Web 窗体为生成动态 Web UI 提供了一个容易且功能强大的方法。
- ASP.NET Web 窗体页可以以任何浏览器客户端为目标(没有脚本库和 Cookie 要求)。
- ASP.NET Web 窗体页提供与现有 ASP 页的兼容性。
- ASP.NET 服务器控件提供了封装常用功能的容易方法。
- ASP.NET 提供 45 个内置服务器控件。开发人员也可使用第三方生成的控件。
- ASP.NET 服务器控件可以自动设计上层和下层 HTML。
- ASP.NET 模板提供了自定义列表服务器控件外观的容易方法。
- ASP.NET 验证控件提供了进行声明性客户端或服务器数据验证的容易方法。