摘要:
组合控件与WebControl控件的事件和属性相差不大组合控件,顾名思义就是把一些控件组合起来形成一个控件这个控件将包含这些控件称为他的子控件CompositeControl类实现了INameContainer接口这样使得复合控件下的子控件都根据各自的层级关系生成唯一的客户端标识不至于产生重复的ID组合控件比较重要的方法是:1.EnsureChildControls此方法判断属性ChildControlsCreated是否为true如果不是将执行下面的事件2.CreateChildControls此方法创建并生成组合控件下的所有子控件此方法执行完后应该设置ChildControlsCreate 阅读全文
摘要:
Control类的Render方法在WebControl类中被被分成三部分1:RenderBeginTag,呈现标签的开始2:RenderContents,呈现标签的内容3:RenderEndTag,呈现标签的结束一般情况下不重写RenderBeginTag和RenderEndTagRenderBeginTag生成什么样的标签由WebControl.TagKey和WebControl.TagName决定默认的TagKey是Span(假设你想直接输出文本,那么你重写的TagKey是Unknown,TagName是string)WebControl提供一个AddAttributeToRender方 阅读全文
摘要:
url重写就是把一些类似article.aspx?id=28的路径重写成 article/28/这样的路径当用户访问article/28/的时候我们通过asp.net把这个请求重定向到article.aspx?id=28路径有两种方法可以做这件事情一:基于HttpModule的方案这个方案有有缺点,具体缺点以后再谈我曾写过一篇文章《不用组件的url重写(适用于较大型项目) 》就是按这个模式写的二:基于HttpHandler的方案我们这个例子就是按这个方案做的我们接下来就按这种方式做这个例子三:基于HttpHandlerFactory的方案顾名思义这是一个工厂,可以根据不同的文件来处理请求先看w 阅读全文
摘要:
一:简要介绍一下asp.net的执行步骤 1.IIS接收到客户请求 2. IIS把请求交给aspnet_isapi.dll处理3.(如果是第一次运行程序)装载bin目录中的dll4.(如果是第一次运行程序)读取各级webconfig中的配置5.(如果是第一次运行程序)编译装载global.asax,初始化HttpApplication实例6.创建响应请求的HttpContext7.创建承载响应结果的HttpTextWriter8.找到合适的HttpHandler(asp.net页面),处理http请求9.处理session,异常10.把处理结果反馈个客户 当HttpApplication实例创 阅读全文
摘要:
一:先用最简短的话说点理论的1.asp.net中所有的标准控件都可以重写2.和控件相关的命名空间有 System.Web.UI.Control是所有控件的基类只提供简单的呈现逻辑,不支持样式表 System.Web.UI.WebControls.WebControl继承自Control支持控件外观 System.Web.UI.WebControls.CompositeControl继承自WebControl类派生出多个控件合成的复合控件3.控件树的实现原理首先Page类本身就是一个控件,它继承自Control所有的控件都有一个Render方法这个方法负责把控件的内容发送给请求者在Rend... 阅读全文