第10章 用户控件及绘图.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 用户控件和绘图 在四五年前笔者用ASP开发网站的时候,非常衷情于.inc格式的包含文件。这种格式的文件提供了很好的重用性,笔者通常会将页头、页尾以及一些较麻烦的处理块封装为.inc文件,然后在需要的地方插入这个文件即可。在ASP.NET 3.5中,用户控件己经取代了inc包含文件的作用,提供了更好的可重用性和性能。 ASP.NET另一个强大的功能就是可以直接利用.NET内置的GDI+ API在Web页面上创建图形,在ASP中,除了借助于ActiveX控件之外似乎别无他法,可以使用这些GDI+函数在网页上创建统计图表、动态图形演示等等。 10.1 用户控件 用户控件与ASP.NET Web页面非常相似,用户控件就是封装了ASP.NET现有控件或功能的一个复合控件。用户控件提供了一种模块化Web应用程序的方法,开发人员可以将一个Web页面分割为多个用户控件,使Web页面的可维护性增强,并且增强了可重用性。在运行时,用户控件将被编译并且能单独的进行缓存,而且用户控件利用了ASP.NET对象模型支持,使开发人员像访问一个普通用控件一样使用用户控件。 用户控件与ASP.NET Web窗体相比,具有如下的几个区别: 用户控件以.ascx作为扩展名,而Web窗体则使用aspx,用户控件的代码后置文件派生自System.Web.UI.UserControl类。实际上UserControl类与Page类具有相同的基类TemplateControl,因此用户控件与Web窗体共享了很多相同的功能。 用户控件以%@Control%指令开始,而Web窗体则以%@Page%指令开始。 不能直接请求ascx文件,用户控件必须被宿主到ASP.NET Web页面中。 用户控件中没有 html、body 或 form 元素。这些元素必须位于宿主ASP.NET Web页中。 10.1.1 创建用户控件 VS2008提供了对用户控件的设计时支持,现在新建一个名为UserControlDemo的网站,本节将在该页面中创建一个用户注册窗体的用户控件,步骤如下所示: (1)在解决方案资源管理器中右击鼠标,选择“添加新项”菜单项,在弹出的添加新项窗口中选择Web用户控件,为该用户控件命名为Registration.ascx,单击添加按钮。VS2008自动为用户控件添加了一个ascx文件和一个.cs的后置代码文件。在用户控件文件中,可以看到VS2008自动生成了一行如下所示的代码。 %@ Control Language=C# AutoEventWireup=true CodeFile=Registration.ascx.cs Inherits=Registration % (2)切换到用户控件的设计视图窗口,下面来创建一个用户注册的输入界面,笔者在该界面插入了一个表格用于表单的布局,然后在表格中插入了多个TextBox控件允许用户输入注册内容,并在每个文本框的旁边放置了验证控件对用户的输入进行验证, 10.1.2 使用用户控件 为了在Web页面上使用用户控件,需要两个步骤: 使用@Register指令在页面顶部注册用户控件。 在想要使用用户控件的位置放置用户控件。 在VS2008中, IDE自动帮助完成了这两个步骤,下面演示一下如何在VS2008中使用用户控件。 新建一个名为Login.aspx的Web窗体页面,在该页面中添加一个div标签,使用CSS让其保居中状态。最简单的方法就是直接从解决方案资源管理器中拖动一个用户控件到div标签中,VS2008自动帮助生成了注册用户控件的代码,并且在页面上添加一个用户控件的声明 10.1.3 在Web.Config中注册用户控件 还可以直接在web.config配置用户控件,这样就可以直接在整个Web应用程序中使用该用户控件而无需再次声明。下面的示例代码注册了在前面几小节中创建的用户控件: configuration system.web pages controls add tagPrefix=myUserControl tagName=registration src=~/UserControl/Registration.ascx/ /controls /pages /system.web /configuration 10.1.4 用户控件中公开属性 可以在用户控件中公开属性,这样宿主页可以通过访问和设置用户控件的属性来与用户控件交互。下面的代码为前面小节创建的用户控件中的每个输入域,分别定义了一个属性,如下所示: public partial class Registration : System.We

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档