您的位置:网站首页 > asp源码 > 正文

即上手教程(14

类别:asp源码 日期:2018-9-14 0:09:26 人气: 来源:

  本章的内容演示高级开发者如何书写ASP.NET页面中的服务器控件。通过书写自定义的服务器控件,可以封装定制的用户接口以及其他功能。本教程通过一系列逐渐展开的例子提供了创作自定义控件的入门知识。关于控件创作的更多信息,.NET Framework SDK文档中“开发ASP.NET服务器控件”部分。

  重要提示:本章表述的控件尽管可以在ASP.NET页面的运行时刻正常运行,但是在页面开发工具,如Microsoft Visual Studio.NET,设计时却有可能无法正常工作。为了在设计器常工作,自定义控件需要应用设计时刻属性----该属性在本章不进行表小米的乱情人生述。关于设计时刻属性的细节,SDK文档中“组件的设计时刻属性”部分。

  开始创作自己的ASP.NET服务器控件其实很容易。要想建立一个自定义控件,你需要做的全部工作仅仅是定义一个从trol继承而来得类,并且覆盖它的Render方法。Render方法带有一个System.Web.UI.HtmlTextWriter类型的参数。控件需要发送到客户端的HTML代码作为字符串参数传递给HtmlTextWriter的Write方法。

  属性类似于“聪明”的字段,它具有存取器方法。你可能从你的控件中expose属性而不是公共字段,因为属性允许数据隐藏,可以版本控制,并且可以被可视化设计工具所支持。属性具有get/set存取器方法,用来设置和取得属性值,并允许在必要的时候执行额外的程序逻辑。

  下面的例子展示如何增加简单的属性,它对应私有数据类型,如整数、布尔和字符串。这个例子定义了三个属性:Message是字符串类型、MessageSize是枚举类型、Iterations是整数类型的。请注意设置简单属性和枚举属性的ASP.NET页面语法。

  如果类A的属性类型是类B,那么B的属性被称为A的子属性。下面的例子定义了一个自定义服务器控件SimpleSubProperty,它有一个Format类型的属性。Format是一个具有两个私有属性的类:Color和Size ,他们依次成为了SimpleSubProperty的子属性

  每个控件都有一个从System.Web.UI.Control继承的Controls属性。这是一个集合属性,表示控件的子控件。如果一个控件没有用ParseChildrenAttribute或者ParseChildrenAttribute(ChildrenAsProperties = lse)标识,那么当控件在页面中声明的时候,ASP.NET页面框架就会应用下面的解析逻辑。如果解析器在控件的标签中遇到嵌套控件,它就会建立控件实例,并将其添加到控件的Controls属性。标签间的文字文本被添加为LiteralControl。任何其他嵌套元素产生一个解析错误。

  下面的例子展示了一个自定义控件SimpleInnerContent,通过检查LiteralControl是否被添加到它的控件集合中,来决定是否将交付的文本增加到它的标签之间。如果是,它就取得LiteralControl的Text属性,然后将其添加到输出字符串。

  你可以使用类的合成,通过组合现在有的控件来创作新的控件。复合控件类似于用户控件,也是使用ASP.NET语法来创建。用户控件和复合控件的主要区别是:用户控件是扩展名为.ascx的文本文件,而组合控件是编译过的,已汇编的方式使用。

   如果页面中的复合控件实例需要重复创建,需要引入mingContainer接口。这是一个没有方法的标签接口。当他被控件引入的时候,ASP.NET将在这个控件下面建立一个新的名称空间。这就了子控件在控件的继承树中具有唯一的ID。

  文章由325棋牌提供发布

关键词:asp项目教程
0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

CopyRight 2002-2012 技术支持 源码吧 FXT All Rights Reserved

赞助合作: