注册本站  论坛  繁體中文

慧民电脑芯片级维修-电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Dotnet >> ASP.NET >> Dotnet正文

控件开发asp.net处理标签间内容

文章来源:中国IT实验室收集整理 作者:佚名 更新时间:2008-9-22 12:25:55 【 】 【加入收藏

  asp.net控件标签间的内容有的时候处理成节点有的时候处理成子控件。如:间的节点就会处理成属性Text的值,而如Panel这样的控件则就是将其处理成子控件。首先看如何处理成属性的。

一、处理成为属性

 对于控件标签间的内容我们可以通过类System.Web.UI.ParseChildrenAttribute类控制控件对其内容的解析行为。

 ParseChildrenAttribute是一个类级别的属性标识,有四个构造函数:

1.ParseChildrenAttribute(),ChildrenAsProperties属性设置为false,就是不解析成控件。
2.ParseChildrenAttribute(Boolean),指定解析成控件属性。
3.ParseChildrenAttribute(Type),控件标签中的内容解析成控件Type类型的控件。
4.ParseChildrenAttribute(Boolean,String)指定ChildrenAsProperties的值,同时指定默认解析的属性(DefaultProperty)。

 默认情况下,Control将内容解析成子控件,而WebControl因为可以标识了[ParseChildren(true,"Text")],所以默认解析为属性.对于简单的属性如TextBox,只需要表示为[ParseChildren(true,"Text"),DefaultProperty("Text")]即可,而对于DropDownList控件的Items属性,如果只是标识了[ParseChildren(true,"Item"),DefaultProperty("Items")],那么Items内部如何解析呢?所以肯定要告诉属性对应的解析方式。

 System.Web.UI.PersistenceModeAttribute用于控制控件属性的保存方式。接收的参数为PersistenceMode枚举的值,共四种类型:

◆Attribute:指定属性 (Property) 或事件保持为属性 (Attribute);
◆EncodedInnerDefaultProperty:指定属性作为 ASP.NET 服务器控件的唯一内部文本而进行保持。属性值是 HTML 编码的。只能对字符串做这种指定;
◆InnerDefaultProperty:指定属性在 ASP.NET 服务器控件中保持为内部文本。还指示将该属性定义为元素的默认属性。只能指定一个属性为默认属性;
◆InnerProperty:指定属性在 ASP.NET 服务器控件中保持为嵌套标记。这通常用于复杂对象,它们具有自己的持久性属性。

 所以我们可以看到DropDownList的Items属性上的标识为:[PersistenceMode(PersistenceMode.InnerProperty)],然后在ListItem的Text属性上标识为[PersistenceMode[PersistenceMode.EncodedInnerDefaultProperty]]。解释下,因为Items属性为复杂属性,存在标签的嵌套,所以我们可以肯定的是标识类型为InnerProperty,而Text作为Items的属性,也是默认文本中的内容为Text所以标识为EncodedInnerDefaultProperty。

二、处理为子控件

  • 上一篇Dotnet:

  • 下一篇Dotnet:
  • 最 新 热 门
     详解如何实现最基本的AJAX框架
     XAML命名空间和命名空间映射
     SOA and Web services 新手入门
     Ajax实战:在浏览器端应用MVC
     超越XML和JSON:YAM
     闲话Java Web层框架优缺点 用哪个呢?
     如何通过Web Services上传和下载文件
     ASP.NET中XML数据的处理
     关于.net和Java的比较
     ADO.NET实体框架准备好面向企业级应用了?
    最 新 推 荐
     如何在ASP.Net Ajax中调用WebService
     ASP.NET 1.1 ListBox的注意事项
     如何利用JS实现对后台CS代码的调用
     .net开发中批量删除记录时如何实现全选功能
     ASP.NET开发中的八个最佳实践
     ASP.NET开发中的验证码技术
     控件开发asp.net处理标签间内容
     程序员成为成为编程高手的二十二条军规
     VS 2005和ASP.NET 2.0中处理CSS样式表
     如何有效监控.NET应用程序
    相 关 文 章

    VC程序开发中定制对话框中的回车键
    .net开发绑定到LINQ查询的结果实例
    .net开发实例:绑定到ADO.NET数据源
    Visual C#通用模块开发:后台管理员模块
    Visual C#通用模块开发:DataGrid控件
    .NET开发中正则表达式中BUG一例
    .net开发使用QueryString
    .net开发中批量删除记录时如何实现全选功能
    ASP.NET开发中的八个最佳实践
    ASP.NET开发中的验证码技术

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    门市地址:广东省佛山市南海区黄岐黄海路133号
    本网站所有内容未经许可不得转载或做其他使用