C#.NET
C Shap 方便的技术资料
摘要: 温总理 : 救人心切的温总理罕有地发怒:“当温总理接到电话,听说由于桥梁倒塌,彭州市10万群众被堵在山中,救灾人员和物资无法运入时,总理在电话里大喊,‘我不管你们怎么样,我只要这10万群众脱险,这是命令!’之后他把电话挂了。”
总理向前往汶川的登机部队领导发出指示,“我就一句话,是人民在养你们,你们自己看着办。”
阅读全文
摘要: Contorl类的默认实现将状态管理委托给了ViewState属性,ViewState属性是一个复杂属性,该属性是一个StateBag类型,是一个字典,StateBag类实现了IStateManager接口来实现状态管理。StateBag保存了键/值对,其中键是字符串而值是对象。当某个对象添加到StateBag实例中时,StageBag自动为该对象存储一个附加位,它用来标志存储的对象是否修改过。
Control类用于IStateManager接口中相同的成员来实现状态管理,尽管Control并不实现IStateManager接口,只是委托给了实现了IStateManager接口类型的StateBag类,也就是委托给了ViewState属性。在自己的复杂类型状态管理中,可以模仿Control的这种行为,以实现自定义复杂属性的状态管理。
阅读全文
摘要: 复杂属性的类型不能用简单的字符串表示。这些类型包括非原子值的类型,除字符串外的引用类型以及集合类型。在使用自己的控件时如果遇到复杂属性,那么为了支持声明持久性还需要做额外的工作,并进行状态管理。
为了使复杂属性具有声明持久性,必须要由以下两个相关的内容一起作用实现:与串行化相关的元数据Attribute和执行给定类型与String类型及其它类型的互相转换的类型转换器,稍后我会讲到。
1.子属性的形式
1.1 连字符子属性的实现
1.2 内部属性的实现
1.3 内部默认属性的实现
2.属性和类型转换器
类型转换器是从System.ComponentModel.TypeConverter派生的一个类。页面框架使用类型转换器来实现视图状态的串行化,而且可视化设计器也适用类型转换器在浏览器中显示属性,并实现设计期的串行化。
阅读全文
摘要: 参与回传架构主要有两个重要的接口IPostBackEventHandler和IPostBackDataHandler接口
IPostBackEventHandler接口使控件引发一个标志着已经发生回传的事件。
IPostBackDataHandler接口使控件检索已被传送的表单数据,从而相应的更新状态,然后在服务器端引发事件以标志其状态变化。
阅读全文
摘要: 1.设计期Attribute
设计期Attribute对于控件在可视化设计器内正确运行是很重要的.设计器,属性浏览器和其它的设计期元素使用由设计期attribute提供的元数据的作用如下:
显示属性和事件
执行设计期的序列化
把用来实现设计期的功能的类与控件或者属性类型关联起来
2.解析期Attribute
用于被页面解析器解析.aspx页面的语法,为相应页面中的类生成代码
阅读全文
摘要: Control和WebControl相关Rendering方法中都使用了System.Web.UI.HtmlTextWriter对象,HtmlTextWriter是一个封装了响应流的类,派生自System.IO.TextWriter,提供了向输出流中写入文本的功能。
HtmlTextWriter对象常用的一些方法有:AddAttribute , AddStyleAttribute , RenderBeginTag , RenderEndTag 用来生成标签和标签属性。
HtmlTextWriter的各种方法的参数取值为以下三种枚举类型:HtmlTextWriterAttribute , HtmlTextWriterStyle , HtmlTextWriterTag 。
阅读全文
摘要: 控件的生命周期决定何时保存控件和恢复它的状态,何时与页面及其它控件之间进行交互,何时执行主要的处理逻辑,以及何时对输出流显示标记文本。
----------------------------------------
+ 实例化:构造器
----------------------------------------
----------------------------------------
+ 初始化:OnInit方法和Init事件
----------------------------------------
----------------------------------------
+ 开始跟踪视图状态:TraceViewState 方法
----------------------------------------
|只回传时发生
------------------------------------------
阅读全文
摘要: asp.NET自定义服务器控件内部些节系列教程一
关于自定义asp.NET自定义服务器控件文章和源码示例网上已经很多了,不过有些内部些节方面,让一些初次接触这方面技术的朋友难以理解,对服务器控件的方方面面也很疑惑。为此,我抽出些时间把自己所理解的东西整理出来,方便大家交流学习。
一 理解事件委托,事件,引发事件以及事件优化
.NET框架的事件委托和事件数据的命名约定:
事件数据类由事件名加后缀EventArgs构成,如:SXLoginEventArgs
事件委托由事件名加后缀EventHandler构成,如:SXLoginEventHandler
引发事件的方法名字是在事件前加上前缀On,OnSXLogin
阅读全文
摘要: 准备知识:
1。
为了在web页面上呈现DotNET资源程序集里的任意资源,我们需要编写一个自定义的Handler程序,用这个Handler来接管处理特定扩展名的资源。DotNET Framework 提供了一个IHttpHandler接口,我们只要继承此接口,然后实现它提供的两个方法即可。
2。
为了显示各种不同的Web资源,我们需要封装一个资源相关的类,用它来从资源程序集提取指定名称的资源,资源程序集内部的各种资源都是以嵌入的方式编译的,也就是说将图片,文字,音视频都嵌入到一个单独的DotNET Dll里,我们把它编译成一个类库,也就是DotNET资源程序集。如果你的资源程序集的namespace为SanXia.Resources,而且你在此项目下建立了文件夹,分了很多层,比如建立了Res文件夹,在Res下又建立了Text文件夹,Text下面你又建立了Html文件夹,Html下有demo.html文件,那么这个demo.html的resourceFilename就是:Res.Text.Html.demo.html。
阅读全文
摘要: 一个皮球引发的激情"多种版本大收集
原始现场声音重现:
mms://nv.sina.com.cn/sports/2006/06/27940887.wma
Flash 部分版本 :
http://cimg3.163.com/sports/sports/hjx.swf
Flash 完整版本 :
http://bbs.51meirong.com/images/6696.swf
手机彩铃普通话版:
mms://nv.sina.com.cn/bn/2006/06/28815307.wma
手机彩铃四川话版:
mms://nv.sina.com.cn/bn/2006/06/28162414.wma
audio摇滚版:
http://firezone.nease.net/hjx.wma
阅读全文
摘要: 当你用left outer join来连接多个对象的时候,注意返回的IList 或者是IEnumerable都直接是一个实体对象,而是一个多维的数组,这一点一定要注意,否则你很难找到错误所在。
下面我来介绍一下:
Ms是XxEntity的一个IList类型的属性,也就是XxEntity里的Ms是一个一对多的东西
阅读全文
集从人之所长,创造博客社区神话,实现梦想!