ASP。NET控件—控件如何相互关联
介绍 这是我关于ASP系列的另一篇小文章。NET控件,它的主要焦点是揭示控件如何相互关联,涉及哪些实体,以及它们在此任务中的主要角色是什么。 动机 理解每次处理页面请求和某人在他的浏览器中获得您的web表单时在我们的绳套下发生的小魔术,将帮助您避免许多问题,更快地调试它们,并生成更好的应用程序。 如果您是一个有经验的程序员,这些知识还可以帮助您编排复杂的解决方案,也许还可以逐步完成一些ASP。净的约束。 控件之间是如何关联的? 为了公开一个ASP。你需要把它放在一个页面中,事实上,在任何ASP。网络控制。为了参与页面生命周期,您需要以某种方式与页面相关。这种关系是通过父/子层次结构实现的。 页控件是此层次关系的根控件,它处理应该触发哪个管道(初始请求、回发请求或回调请求)。 如果需要,控件可以包含其他控件,并且所有这些子控件一起保存在通过控件属性公开的控件集合实例中。每个控件都知道它的父控件。 可以包含其他控件的控件也可以标记为其子控件的自动命名生成过程中的参与者。这个角色是通过实现INamingContainer接口来实现的,当这种情况发生时,该控件被称为NamingContainer。每个子控件都知道它的名称为container。 ControlCollection提供了一组通常用于收集管理的方法: Add -将指定的控件对象添加到集合中。从父服务器控件的ControlCollection对象中移除指定的服务器控件。清除——从当前服务器控件的ControlCollection对象中移除所有控件。 一个控件只能附加到另一个控件并通过ControlCollection成为它的子控件。添加方法。每当从集合中添加或移除一个控件时,它的父控件和它的NamingContainer都会收到通知并作出反应。 当一个控件添加到另一个控件的子集合时,则为新的父控件。调用AddedControl方法,并执行以下步骤: 检查新添加的子控件是否有所有者,因此其使用是否仅限于该所有者控件。如果为真,则子控件不是有效控件,并抛出异常。检查新添加的子控件是否属于另一个控件的子集合,在这种情况下,该控件将从之前父控件的子集合中移除。这是确保有效的层次关系所必需的:控件只能属于单个控件集合。更新新添加子控件的页引用,以引用新的父页。更新新添加子控件的父引用以引用自身。如果新的父控件是NamingContainer,那么我们将更新新添加子控件的NamingContainer引用以引用它自己。如果没有指定新的子控件ID,那么将为新子控件的NamedControls集合自动生成一个新ID,并将NamingContainer标记为dirty,以确保创建并填充一个新的和新的集合。如果可能,将为新添加的子控件重新创建控件生命周期。 从父控件集合中移除控件时,父控件将被移除。调用RemovedControl方法,并采取以下步骤: 检查新添加的子控件是否有所有者,因此其使用是否仅限于该所有者控件。如果为真,则子控件不是有效控件,并抛出异常。子控件NamingContainer的NamedControls集合被标记为dirty,以确保创建并填充一个新的和新的集合(不包含已删除的控件)。子控件执行非加载递归而不进行处理。在AddedControl上设置的所有引用将被删除,该控件将从任何层次结构中释放。 本文转载于:http://www.diyabc.com/frontweb/news19147.html
ASP。NET控件—控件如何相互关联的更多相关文章
- [转载]ASP.NET中TextBox控件设立ReadOnly="true"后台取不到值
原文地址:http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html ASP.NET中TextBox控件设置ReadOnly=" ...
- ASP.NET Web数据控件
ASP.NET Web数据控件 1.数据控件简介 这包括数据源控件和格式设置控件,前者使您可以使用 Web 控件访问数据库中的数据,后者使您可以显示和操作ASP.NET 网页上的数据. 2.数据控件 ...
- ASP.NET关于Login控件使用 (转)
分类: C# 2011-02-21 10:38 4599人阅读 评论(0) 收藏 举报 loginasp.netstringurlserverbutton 今天上网找了一些关于Login控件的使用资料 ...
- ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法
ASP.NET的FileUpload控件默认是不支持服务端的onchange事件的,此时可以用一种变通的方法来实现这一功能. 这就需要借用客户端的onchange事件,调用__doPostBack方法 ...
- asp.net中Repeater控件用法笔记
大家可能都对datagrid比较熟悉,但是如果在数据量大的时候,我们就得考虑使用 repeater作为我们的数据绑定控件了.Repeater控件与DataGrid (以及DataList)控件的主要区 ...
- 【转】ASP.NET常用数据绑定控件优劣总结
转自:http://www.cnblogs.com/Olive116/archive/2012/10/24/2736570.html ASP.NET常用数据绑定控件优劣总结 本文的初衷在于对Asp ...
- asp.net取HTML控件值
asp.net取HTML控件值所有html表单里面的值控件,提交后都是以键值 key=value&key=value&……这样的形式提交给后台. radio也一样,会将选中的radio ...
- ASP.NET关于Login控件使用,LoginView 控件,CreateUserWizard 控件
原文:ASP.NET关于Login控件使用,LoginView 控件,CreateUserWizard 控件 Login控件它是属于Membership服务的一部分,必须配置Membership提供程 ...
- ASP.NET2.0组件控件开发视频 初体验
原文:ASP.NET2.0组件控件开发视频 初体验 ASP.NET2.0组件控件开发视频 初体验 录了视频,质量不是很好,大家体验下.我会重新录制的 如果不清楚,可以看看http://v.youku. ...
随机推荐
- 华为手机logcat中不显示log.e以下级别日志的解决方法
(1) 进入拨号界面输入:*#*#2846579#*#* (2) 进入“后台设置” ——>“LOG设置” (3) 点击选择“AP日志” (4) 部分手机可能需要重启.
- unity3d插入android有米广告
有米官网:http://www.youmi.net/register?r=MTI0MDg= 国内的广告,我觉得万普和有米还不错,我也只试了这两个,其他的都是看评价的,呵呵~~~首先我们去有米官网注册一 ...
- IDEA创建新空项目
IDEA创建新空项目 File -> New -> Project -> Empty Project -> 然后OK 这个是什么都不能做的,然后我们创建Module. File ...
- IDEA下Git分支开发
IDEA下Git分支开发使用 1.新建本地开发分支 VCS-->git-->branches-->New Branch,输入分支名字,如branch_test,点击OK后本地开发分支 ...
- 认证授权:IdentityServer4 - 各种授权模式应用
前言: 前面介绍了IdentityServer4 的简单应用,本篇将继续讲解IdentityServer4 的各种授权模式使用示例 授权模式: 环境准备 a)调整项目结构如下: b)调整cz.Id ...
- python修改excel内容
前提:安装pip install xlutils和xlrd 思路:xlrd用来读数据,xlutils用来修改数据:先打开excel——读到原来的sheet页——生成可以修改的excel和sheet页— ...
- [HCTF 2018]admin wp
首先打开页面,查看源码 you are not admin考虑是否为需要登录 后发现右上方有个登录 考虑密码爆破,用户名为admin,密码未知 摔进burpsuite后爆破 后得到密码为123 登录得 ...
- 【吴恩达课程使用】keras cpu版安装【接】- anaconda (python 3.7) win10安装 tensorflow 1.8 cpu版
一.确认tensorflow的版本: 接上一条tensorflow的安装,注意版本不匹配会出现很多问题!:[吴恩达课程使用]anaconda (python 3.7) win10安装 tensorfl ...
- python爬取新浪财经
我们来获取这里的title和url然后再获取这里面url的编辑作者 可以看到右边的几个就对应的左边不同的div .m-p1-mb2-list.m-list-container ul li a impo ...
- tf.split函数的用法(tensorflow1.13.0)
tf.split(input, num_split, dimension): dimension指输入张量的哪一个维度,如果是0就表示对第0维度进行切割:num_split就是切割的数量,如果是2就表 ...