﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-让阳光指引生命的每一刻,乘着风,跟随我融化空气</title><link>http://www.cnblogs.com/CHONGCHONG2008/</link><description>美丽的地球，有美丽的cnblog
[hjp3]hjptype=song&amp;player=1&amp;son=http://www.taihugolf.com.cn/villa/sound_00ok01.mp3&amp;autoplay=yes&amp;autoreplay=1&amp;bgcolor=FFFFFF&amp;width=200&amp;height=20[/hjp3]</description><language>zh-cn</language><lastBuildDate>Thu, 04 Dec 2008 03:48:50 GMT</lastBuildDate><pubDate>Thu, 04 Dec 2008 03:48:50 GMT</pubDate><ttl>60</ttl><item><title>实现自己的MasterPage和WebPart控件,开发没有aspx,ascx的web程序，全部由自定义控件生成，并且支持MasterPage摸版功能。</title><link>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/08/09/1264347.html</link><dc:creator>天真的好蓝啊</dc:creator><author>天真的好蓝啊</author><pubDate>Sat, 09 Aug 2008 10:17:00 GMT</pubDate><guid>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/08/09/1264347.html</guid><wfw:comment>http://www.cnblogs.com/CHONGCHONG2008/comments/1264347.html</wfw:comment><comments>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/08/09/1264347.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnblogs.com/CHONGCHONG2008/comments/commentRss/1264347.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/CHONGCHONG2008/services/trackbacks/1264347.html</trackback:ping><description><![CDATA[<p><font face="Verdana">&nbsp;&nbsp;&nbsp; 实现自己的MasterPage和WebPart控件</font></p>
<font face="Verdana">
<p><br />
&nbsp;&nbsp;&nbsp; 开发没有aspx,ascx的web程序，全部由自定义控件生成，并且支持MasterPage摸版功能。</p>
<p></font>&nbsp;</p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; asp.net提供的MasterPage确实是一个好的功能，我也很需要这样的东西，可是我想更多的扩展一下，以实现自己的MasterPage控件。需要支持可以动态更改title,动态添加关键字，动态添加css, 动态添加script。这是个不错的想法，如何实现？</font></p>
<p>&nbsp;</p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; 那么我们回到asp.net服务器控件的架构上来，先来熟悉下它，理解它的生命周期，这个很重要，我可不开玩笑，因为我需要对它加以利用，动点小手术，因此你必须必须理解它，否则，请放下键盘，拿起你的吉他，一边玩儿^_*。</font></p>
<p>&nbsp;</p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; 在你放下键盘那起吉他之前，请把我这篇文章看完，好了，在这里我只谈2.0的相关部分。</font></p>
<p>&nbsp;</p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; ===================控件生命周期开始===================<br />
&nbsp;&nbsp;&nbsp; 控件构造器<br />
&nbsp;&nbsp;&nbsp; 初始化阶段 Init事件<br />
&nbsp;&nbsp;&nbsp; -----加载视图状态<br />
&nbsp;&nbsp;&nbsp; -----加载回传数据<br />
&nbsp;&nbsp;&nbsp; 加载阶段 Load事件<br />
&nbsp;&nbsp;&nbsp; -----引发数据修改事件<br />
&nbsp;&nbsp;&nbsp; -----引发回传事件<br />
&nbsp;&nbsp;&nbsp; 预生成阶段 PreRender<br />
&nbsp;&nbsp;&nbsp; 保存视图状态<br />
&nbsp;&nbsp;&nbsp; 生成阶段<br />
&nbsp;&nbsp;&nbsp; 卸载阶段 Unload<br />
&nbsp;&nbsp;&nbsp; 释放<br />
&nbsp;&nbsp;&nbsp; ===================控件生命周期结束===================</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; 以上的东西写的文章已经很多了，我只凭记忆把他写出来，不对的地方，大家指正。</font></p>
<font face="Verdana">
<p><br />
&nbsp;&nbsp;&nbsp; 还有一个需要熟悉的东西就是控件的渲染流程，你需要理解他，不管怎样，你都要理解他，请暂时放下你的吉他，理解它，真的，实在太重要了。</p>
<p><br />
&nbsp;&nbsp;&nbsp; Control控件暴露了一个公共的RenderControl(HtmlTextWrite write)方法，用与生成html到输出流。<br />
这个方法是这么定义的，这里我说的是2.0。<br />
&nbsp;&nbsp;&nbsp; RenderControl(HtmlTextWrite write)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(可视)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 继续Render(write);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; 看到了，如果当前控件的Visible属性设置为true的话，它才会调用Render方法，注意这个方法是受保护的，不是由你来调用的，不过你还是有机会调用他的，放心，继续看下面。<br />
&nbsp;&nbsp;&nbsp; 除非你继承Control控件，否则你只能近接的调用他，也就是由Page框架或是Control的RenderControl方法调用它。</p>
<p>&nbsp;&nbsp;&nbsp; Render方法是这样的：<br />
&nbsp;&nbsp;&nbsp; Render(HtmlTextWrite write)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 继续RenderChildren(write);&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }</p>
<p><br />
&nbsp;&nbsp;&nbsp; 看上去是去生成子控件，确实如此，RenderChildren是这样的：</p>
<p>&nbsp;&nbsp;&nbsp; RenderChildren(HtmlTextWrite write)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach(Control control in Controls)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RenderControl(write); //这里我近接的调用了Render方法,虽然你是受到保护的。可我还是调用啦<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }</p>
<p><br />
&nbsp;&nbsp;&nbsp; 看到了，RenderChildren里面有回去了，原来Control控件的渲染流程是这样的啊，通过判断自己的Contros属性来不断的调用，只到自己的所有子控件都调用到，好家伙。</p>
<p>&nbsp;&nbsp;&nbsp; 以上提到的是写web服务器控件的必备知识，很基础，但是你不可以小视他，一点要过他，你才会写出好的控件来。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; web开发的底层就是一堆的HTML标签，无论是jsp还是asp.net都是对html某种方式的包装，是HTML的产物，IE浏览器访问web服务器，最终我们接收到的还是html文本。IE然后通过渲染引擎解释这些标签，在屏幕上展现出来可见的效果。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; asp.net提供了很多服务器控件，提供了很多所见即所得的功能，丰富了web应用程序的开发。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 这些服务器控件架构，有些地方我们是可以利用的，就是说我们自己可以来扩展，写出符合自己需求的控件来。asp.net web Control带有太多的样式属性，比如说Panel控件，就有如Color,Width等各种属性，因为它继承于WebControl控件。如果你需要这么一个Panel类似的控件 ，可是你有不需要那些从WebControl继承而来的属性，那么好的选择就是你直接继承Control控件，这个控件只有基本的控件架构，而没有那些可见的web样式属性。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 恰好我需要这样的控件，因为我不需要那些可见的web样式属性，因为我要生成的控件通过CSS文件来控制的，也就是所有的空间都只输出Div这个标签。如果这样的标签:</p>
<p>&nbsp;&nbsp;&nbsp; &lt;div id="id" class="class"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div id="id_children" class="class_container"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ul&gt;&lt;li&gt;&lt;/li&gt;&lt;/ul&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div id="id_children" class="class_container"&gt; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/div&gt;</p>
<p>&nbsp;&nbsp;&nbsp; 如上，标签时可以嵌套的。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 到这里开始自己动手，创建自己的MasterPage控件，因为我不需要样式控制，所以我选择继承Control控件，以便于利用他的架构模型和渲染模型。</p>
<p><br />
&nbsp;&nbsp;&nbsp; public class MasterControl : Control<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region //字段<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected string id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected string title;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected string keyword;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected List&lt;string&gt; css;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected List&lt;string&gt; script;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected Page page;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //略去N行代码...<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region //重写基类方法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected override void Render(HtmlTextWriter writer){....}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region //私有方法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private void GenericHeadHTML(HtmlTextWriter writer)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.AddAttribute("http-equiv", "Content-Type");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.AddAttribute(HtmlTextWriterAttribute.Content, "text/html; charset=utf-8");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.RenderBeginTag(HtmlTextWriterTag.Meta);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.RenderEndTag();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.WriteLine();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.AddAttribute("http-equiv", "Content-Language");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.AddAttribute(HtmlTextWriterAttribute.Content, "zh-CN");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.RenderBeginTag(HtmlTextWriterTag.Meta);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.RenderEndTag();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.WriteLine();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.AddAttribute(HtmlTextWriterAttribute.Name, "keywords");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.AddAttribute(HtmlTextWriterAttribute.Content, keyword);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.RenderBeginTag(HtmlTextWriterTag.Meta);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.RenderEndTag();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.WriteLine();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.RenderBeginTag(HtmlTextWriterTag.Title);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.Write(title.Remove(title.Length - 3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.RenderEndTag();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.WriteLine();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (string itemCss in css)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.AddAttribute(HtmlTextWriterAttribute.Rel, "stylesheet");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.AddAttribute(HtmlTextWriterAttribute.Href, itemCss);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.AddAttribute(HtmlTextWriterAttribute.Type, "text/css");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.AddAttribute("media", "all");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.RenderBeginTag(HtmlTextWriterTag.Link);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.RenderEndTag();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.WriteLine();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (string itemScript in script)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.WriteLine("&lt;script type=\"text/javascript\" src=\"" + itemScript +"\" &gt;&lt;/script&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; namespace MINGMING.MUSIC.Contorls<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class MasterPage : MasterControl<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region //字段<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected ControlContainerBase headerLayout, contentLayout, footerLayout;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region //构造方法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public MasterPage(Page page)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : base(page)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; headerLayout = new FooterLayout(this);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; contentLayout = new ContentLayout(this);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; footerLayout = new HeaderLayout(this);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>页面调用测试：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region 字段<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected RequestContext requestContext; //web部件需要的请求上下文<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected NewsPartZone news1, news2, news3, news4; //web部件<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected MasterControl masterPage; //MasterPage模板控件 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region //重写基类方法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected override void OnInit(EventArgs e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; base.OnInit(e);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requestContext = new RequestContext();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected override void OnLoad(EventArgs e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; base.OnLoad(e);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Initialize(); //初始化<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region //初始化<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private void Initialize()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NewsEntity newsEntity = new NewsEntity();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NewsCategoryEntity newsCategoryEntity = new NewsCategoryEntity();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;NewsEntity&gt; newsList ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;NewsCategoryEntity&gt; newsCategorys ;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int totalRecord;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newsEntity.ID = 3;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newsEntity.Title = "testTitle88888";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newsEntity.Content = "testContent88888";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newsEntity.Author = "liuming";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newsEntity.ImageFilename = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newsEntity.HTMLFilename = "888880100.html";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newsEntity.Category.ID = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newsEntity.Template.ID = 1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newsBLL.Add(newsEntity);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newsCategorys = newsCategoryBLL.GetAll();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newsList = newsBLL.GetPage(1, true, 1, 10, out totalRecord);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; masterPage = new MasterPage(this); //自定义的MasterPage控件,为当前页设置MasterPage<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; masterPage.ID = "layout"; //页面ID<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; masterPage.Title = "test Title"; //页面标题<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; masterPage.Keyword = "key1,key2,key3"; //页面关键字<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; masterPage.Css.Add("/Resources/Css/main.css"); //当前页面所需要的样式表文件<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; masterPage.Script.Add("/Resources/Script/main.js"); //当前页面所需要的脚本文件</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requestContext.PageHit.PageIndex = 1; //部件需要的请求上下文<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requestContext.PageHit.PageSize = 2;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news1 = new NewsPartZone(); //部件1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news1.ID = "news_partzone"; //部件1 ID<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news1.IsShowHeader = true; //是否显示部件的Header区域<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news1.Title = "部件1"; //Header区域的文字<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news1.Parent = masterPage.Controls[1] as ControlContainerBase; //部件的父容器<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news1.RequestContext = requestContext; //请求上下文<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news1.MasterPage = masterPage; //部件的MasterPage<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news1.Initialize(); //将所有子控件加到控件树,然后将自己加到MasterPage里面，也就是把自己加到Parent属性所指向的对象</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requestContext.PageHit.PageIndex = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requestContext.PageHit.PageSize = 3;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news2 = new NewsPartZone(); //部件2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news2.ID = "news_partzone2";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news2.Title = "部件2"; //这个title不会显示出来<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news2.Parent = masterPage.Controls[1] as ControlContainerBase;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news2.RequestContext = requestContext;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news2.MasterPage = masterPage;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news2.Initialize();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news3 = new NewsPartZone(); //部件3<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news3.ID = "news_partzone3";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news3.IsShowHeader = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news3.Title = "部件3";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news3.Parent = masterPage.Controls[1] as ControlContainerBase;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news3.RequestContext = requestContext;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news3.MasterPage = masterPage;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news3.Initialize();</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requestContext.PageHit.PageIndex = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requestContext.PageHit.PageSize = 4;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news4 = new NewsPartZone(); //部件4<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news4.ID = "news_partzone3";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news4.Title = "部件3"; //这个title不会显示出来<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news4.Parent = masterPage.Controls[2] as ControlContainerBase;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news4.RequestContext = requestContext;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news4.MasterPage = masterPage;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; news4.Initialize();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion</p>
<p>&nbsp;</p>
<p>最终生成的网页代码如下：<br />
下面的这个HTML标签全部由程序生成，所有的字符，包括头部区域的。都是从服务器端动态生成出来的。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
&nbsp;&lt;head&gt;<br />
&nbsp;&nbsp;&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;<br />
&nbsp;&nbsp;&lt;meta http-equiv="Content-Language" content="zh-CN" /&gt;<br />
&nbsp;&nbsp;&lt;meta name="keywords" content="key1,key2,key3" /&gt;<br />
&nbsp;&nbsp;&lt;title&gt;<br />
&nbsp;&nbsp;&nbsp;test Title - this.owner.MasterPage.Title - this.owner.MasterPage.Title - this.owner.MasterPage.Title - this.owner.MasterPage.Title<br />
&nbsp;&nbsp;&lt;/title&gt;<br />
&nbsp;&nbsp;&lt;link rel="stylesheet" href="/Resources/Css/main.css" type="text/css" media="all" /&gt;<br />
&nbsp;&nbsp;&lt;link rel="stylesheet" href="/Resources/Css/newsList.css" type="text/css" media="all" /&gt;<br />
&nbsp;&nbsp;&lt;link rel="stylesheet" href="/Resources/Css/newsList.css" type="text/css" media="all" /&gt;<br />
&nbsp;&nbsp;&lt;link rel="stylesheet" href="/Resources/Css/newsList.css" type="text/css" media="all" /&gt;<br />
&nbsp;&nbsp;&lt;link rel="stylesheet" href="/Resources/Css/newsList.css" type="text/css" media="all" /&gt;<br />
&nbsp;&nbsp;&lt;script type="text/javascript" src="/Resources/Script/main.js" &gt;&lt;/script&gt;<br />
&nbsp;&nbsp;&lt;script type="text/javascript" src="/Resources/Script/news.js" &gt;&lt;/script&gt;<br />
&nbsp;&nbsp;&lt;script type="text/javascript" src="/Resources/Script/news.js" &gt;&lt;/script&gt;<br />
&nbsp;&nbsp;&lt;script type="text/javascript" src="/Resources/Script/news.js" &gt;&lt;/script&gt;<br />
&nbsp;&nbsp;&lt;script type="text/javascript" src="/Resources/Script/news.js" &gt;&lt;/script&gt;</p>
<p>&nbsp;&lt;/head&gt;<br />
&nbsp;&lt;body&gt;<br />
&nbsp;&nbsp;&lt;div id="layout"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;div id="layout_footer"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Page_Header - 这里是页头<br />
&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;div id="layout_content"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="news_partzone" class="partzone"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="news_partzone_header" class="partzone_header"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;部件1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="news_partzone_content" class="partzone_content"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="news_list_container"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ul&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 07 - 颜绘唐&lt;/li&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 06 - 颜绘唐&lt;/li&gt;&lt;/ul&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="page_hit"&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;&lt;div id="news_partzone2" class="partzone"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="news_partzone2_content" class="partzone_content"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="news_list_container"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ul&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 07 - 颜绘唐&lt;/li&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 06 - 颜绘唐&lt;/li&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 05 - 颜绘唐&lt;/li&gt;&lt;/ul&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="page_hit"&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;&lt;div id="news_partzone3" class="partzone"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="news_partzone3_header" class="partzone_header"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;部件3<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="news_partzone3_content" class="partzone_content"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="news_list_container"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ul&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 07 - 颜绘唐&lt;/li&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 06 - 颜绘唐&lt;/li&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 05 - 颜绘唐&lt;/li&gt;&lt;/ul&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="page_hit"&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;div id="layout_header"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Page_Footer - 这里是页脚&lt;div id="news_partzone3" class="partzone"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="news_partzone3_content" class="partzone_content"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="news_list_container"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ul&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 07 - 颜绘唐&lt;/li&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 06 - 颜绘唐&lt;/li&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 05 - 颜绘唐&lt;/li&gt;&lt;li&gt;网络歌曲&#8220;黑色巧克力&#8220; 04 - 颜绘唐&lt;/li&gt;&lt;/ul&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id="page_hit"&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/div&gt;</p>
<p>&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>&nbsp;</p>
<p>附图片:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><img height="512" alt="" src="http://www.cnblogs.com/images/cnblogs_com/CHONGCHONG2008/50644/o_001.jpg" width="640" border="0" />&nbsp;</p>
<p><img height="680" alt="" src="http://www.cnblogs.com/images/cnblogs_com/CHONGCHONG2008/50644/o_003.jpg" width="660" border="0" />&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><img height="680" alt="" src="http://www.cnblogs.com/images/cnblogs_com/CHONGCHONG2008/50644/o_002.jpg" width="760" border="0" />&nbsp;</p>
<p><br />
</font>&nbsp;</p>
<img src ="http://www.cnblogs.com/CHONGCHONG2008/aggbug/1264347.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43786/" target="_blank">[新闻]Vista SP2 beta 具体更新的清单</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>as3写的音乐播放器,支持从服务器读取歌曲专辑列表,以及个人prifile信息动态显示,同时支持广告~</title><link>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/08/02/1258982.html</link><dc:creator>天真的好蓝啊</dc:creator><author>天真的好蓝啊</author><pubDate>Sat, 02 Aug 2008 13:20:00 GMT</pubDate><guid>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/08/02/1258982.html</guid><wfw:comment>http://www.cnblogs.com/CHONGCHONG2008/comments/1258982.html</wfw:comment><comments>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/08/02/1258982.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/CHONGCHONG2008/comments/commentRss/1258982.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/CHONGCHONG2008/services/trackbacks/1258982.html</trackback:ping><description><![CDATA[<p align="center">&nbsp;</p>
<p align="center"><strong><span style="color: #3366ff"><span style="color: #3366ff"><span style="font-size: 24pt"><font face="Verdana"></font></span></span></span></strong>&nbsp;</p>
<p align="center"><strong><span style="color: #3366ff"><span style="color: #3366ff"></span></span></strong>&nbsp;</p>
<p align="center"><strong><span style="color: #3366ff"><span style="color: #3366ff"><span style="font-size: 24pt">as3写的一个flash音乐播放器</span></span></span></strong></p>
<p align="center"><strong><span style="color: #3366ff"><span style="color: #3366ff"></span></span></strong>&nbsp;</p>
<p align="center"><strong><span style="color: #3366ff"><span style="color: #3366ff"><span style="font-size: 24pt"><span style="font-size: 18pt">支持从服务器读取歌曲专辑列表,以及个人prifile信息动态显示,同时</span></span></span></span></strong></p>
<p align="center"><strong><span style="color: #3366ff"><span style="color: #3366ff"><span style="font-size: 24pt"></span></span></span></strong>&nbsp;</p>
<p align="center"><strong><span style="color: #3366ff"><span style="color: #3366ff"><span style="font-size: 24pt"><span style="font-size: 18pt">支持广告~</span></span></span></span></strong></p>
<p align="center"><strong><span style="color: #3366ff"><span style="color: #3366ff"></span></span></strong>&nbsp;</p>
<p align="center"><strong></strong>&nbsp;</p>
<p align="center"><strong></strong>&nbsp;</p>
<p style="color: #3366ff" align="center"><strong>支持动态读取歌曲列表,</strong><strong>可以配置xml从服务器端地址读取专集和歌曲列表</strong></p>
<p style="color: #3366ff" align="center"><strong>动态加载图片广告，以及全部音频播放器的功能支持。</strong></p>
<p style="color: #3366ff" align="center"><strong></strong>&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">
<object height="305" width="350" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" xcodebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
<param name="Movie" value="http://www.mzscl.com/site/musicplayer/music.swf"            /><param name="Quality" value="high"           /><param name="wmode" value="transparent"           /><embed src="http://www.mzscl.com/site/musicplayer/music.swf?userID=mymingming&requestID=www.mzscl.com" height="305" width="350" quality="high" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"       ></embed>
</object></p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center"><strong><span style="color: #3366ff"><span style="color: #3366ff"><span style="font-size: 24pt">此音频播放器为自己的好友原创音乐人&#8220;颜绘唐&#8221;所写</span></span></span></strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="font-size: 18pt" align="center"><strong><span style="color: #99cc00"><span style="color: #99cc00"><span style="color: #008000"><span style="color: #008000">以上歌曲均出自他手，作品版权均以注册，支持网络原创音乐~！</span></span></span></span></strong></p>
<p style="font-size: 18pt" align="center"><strong></strong>&nbsp;</p>
<p style="font-size: 18pt; color: #800080" align="center"><strong style="color: #800000">点击这里访问&#8220;<a href="http://blog.fenbei.com/6774088" target="_blank">颜绘唐</a>&#8221;的原创音乐博客</strong></p>
<p style="font-size: 18pt" align="center"><strong></strong>&nbsp;</p>
<p style="font-size: 18pt" align="center"><strong></strong>&nbsp;</p>
<p style="font-size: 18pt" align="center"><strong></strong>&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<img src ="http://www.cnblogs.com/CHONGCHONG2008/aggbug/1258982.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43785/" target="_blank">[新闻]纽约时报：Twitter为何拒绝Facebook收购</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>地震无情人有情,网络原创5.12四川汶川抗震救灾励志歌曲:"我生命的...太阳"!</title><link>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/05/30/1210589.html</link><dc:creator>天真的好蓝啊</dc:creator><author>天真的好蓝啊</author><pubDate>Fri, 30 May 2008 03:50:00 GMT</pubDate><guid>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/05/30/1210589.html</guid><wfw:comment>http://www.cnblogs.com/CHONGCHONG2008/comments/1210589.html</wfw:comment><comments>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/05/30/1210589.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/CHONGCHONG2008/comments/commentRss/1210589.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/CHONGCHONG2008/services/trackbacks/1210589.html</trackback:ping><description><![CDATA[<p align="center"><font face="Verdana"><font face="Verdana" color="#800000" size="5"><strong></strong></font></font>&nbsp;</p>
<p align="center"><font face="Verdana"><font face="Verdana" color="#800000" size="5"><strong>地震无情人有情 抗震救灾励志歌曲</strong></font></font></p>
<p align="center"><font face="Verdana" color="#800000" size="4"><strong>抗震救灾励志歌曲,网络原创音乐人颜绘唐网络原创"我生命的...太阳"!&nbsp;</strong></font>&nbsp;</p>
<p align="center"><font face="Verdana">
<object height="450" width="550" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" xcodebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
<param name="Movie" value="http://www.flashempire.com/myfe/upload/flash/146/1450297_1212109808.swf"    /><param name="Quality" value="high"   /><param name="wmode" value="transparent"   /><embed src="http://www.flashempire.com/myfe/upload/flash/146/1450297_1212109808.swf" width="550" height="450" quality="high" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"   ></embed>
</object></font></p>
<p>&nbsp;<font face="Verdana"><font color="#0000ff"><strong>颜绘唐baidu帖吧地址:<br />
</strong></font><a href="http://post.baidu.com/f?kw=%D1%D5%BB%E6%CC%C6">http://post.baidu.com/f?kw=%D1%D5%BB%E6%CC%C6</a>&nbsp;</font>&nbsp;</p>
<font face="Verdana">
<p><br />
<strong><font color="#3366ff" size="4">&nbsp;&nbsp;&nbsp; 5。12汶川地震让全国人民无比的沉疼，看到那些无辜小生命的离去，让我们为世去的人默哀，为活着的人加油。无论有多大的灾乱只要我们团结一起，都会克服，我们在危难的时候都需要爱和帮助，此时此刻，人民子弟兵，救助志愿者，感动一幕幕出现的我们的眼前.</font></strong></p>
<p><strong><font color="#3366ff" size="4"></font></strong>&nbsp;<strong><font color="#3366ff" size="4">&nbsp;&nbsp;&nbsp; 网络音乐人颜绘唐为灾区儿童倾力创作励志歌曲&#8220;<font color="#800000">我生命的...太阳</font>&#8221;，让失去亲人的孩子们更加坚强的活下去,重建我们美好的家园......</font></strong></font><font face="Verdana">&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; <font color="#800000" size="4"><strong>歌词：我生命的...太阳</strong></font><br />
&nbsp;&nbsp;&nbsp; ------------------------------------------&nbsp; <br />
<font color="#003366" size="3">&nbsp;&nbsp;&nbsp; 有谁比我孤单 就让我给你温暖 <br />
&nbsp;&nbsp;&nbsp; 有谁比我还冷 我有一个火热的吻<br />
&nbsp;&nbsp;&nbsp; 有谁没有希望 请忘掉所有悲伤<br />
&nbsp;&nbsp;&nbsp; 只要勇敢坚强 就像草原盘旋的鹰一样<br />
&nbsp;&nbsp;&nbsp; 自由的在蓝天上翱翔<br />
&nbsp;&nbsp;&nbsp; 当我不再孤单 是你给我的温暖<br />
&nbsp;&nbsp;&nbsp; 当我不再悲伤 是你让我更坚强<br />
&nbsp;&nbsp;&nbsp; 当我不再彷徨 你说未来的路很长<br />
&nbsp;&nbsp;&nbsp; 当我开始幻想 是你让我看见了希望<br />
&nbsp;&nbsp;&nbsp; 你就像我生命里的太阳<br />
&nbsp;&nbsp;&nbsp; 你的爱 我永远不会忘记<br />
&nbsp;&nbsp;&nbsp; 你让我感到存在的意义<br />
&nbsp;&nbsp;&nbsp; 有谁比我孤单 就让我给你温暖<br />
&nbsp;&nbsp;&nbsp; 有谁比我还冷 我有一个火热的吻<br />
&nbsp;&nbsp;&nbsp; 有谁没有希望 请忘掉所有悲伤<br />
&nbsp;&nbsp;&nbsp; 只要勇敢坚强 就像草原盘旋的鹰一样<br />
&nbsp;&nbsp;&nbsp; 自由的在蓝天上翱翔<br />
&nbsp;&nbsp;&nbsp; 是你让我看见了希望 你就像我生命的太阳<br />
&nbsp;&nbsp;&nbsp; 你就像我生命的太阳</font></p>
<p>&nbsp;</p>
<p><br />
</font>&nbsp;</p>
<img src ="http://www.cnblogs.com/CHONGCHONG2008/aggbug/1210589.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43784/" target="_blank">[新闻]雅虎再传收购 股价一路狂飙</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>网络原创5.12四川汶川抗震救灾歌曲:"伸出你的双手来 颗颗红心汇成海"!</title><link>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/05/17/1201356.html</link><dc:creator>天真的好蓝啊</dc:creator><author>天真的好蓝啊</author><pubDate>Sat, 17 May 2008 05:22:00 GMT</pubDate><guid>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/05/17/1201356.html</guid><wfw:comment>http://www.cnblogs.com/CHONGCHONG2008/comments/1201356.html</wfw:comment><comments>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/05/17/1201356.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/CHONGCHONG2008/comments/commentRss/1201356.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/CHONGCHONG2008/services/trackbacks/1201356.html</trackback:ping><description><![CDATA[摘要: 5.12四川汶川<br><br>网络原创5.12四川汶川抗震救灾歌曲:"伸出你的双手来 颗颗红心汇成海"!<br><br>没有人能相信 这一切来得太突然 大地的一次颤抖 给人们带来惶恐<br>没有人能够明白 瞬间都改变 生命和那家园 <br>瞬间一切都没有了 美丽家园变尘埃 美丽孩童笑容在废墟里被深埋<br>面对苍天却无奈 只剩凄凉的呐喊 这一切却真实地发生在我们身边<br><br>伸出你的双手来 颗颗红心汇成海<br>再大的风雨也不能阻挡我们团结一致的心<br>无论前面的路坎坷 无论前面困难重重<br>只要我们能一心 必将战胜一切一切......<br><br>伸出你的双手来 颗颗红心汇成海<br>去帮助那些失去家园的人们<br><br>伸出你的双手来 颗颗红心汇成海<br>为了家园最美好的明天<br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/CHONGCHONG2008/archive/2008/05/17/1201356.html'>阅读全文</a><img src ="http://www.cnblogs.com/CHONGCHONG2008/aggbug/1201356.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43783/" target="_blank">[新闻]维基百科欲提高易用性 隐藏更多技术元素</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>5.12地震报道感人语录摘抄"我就一句话，是人民在养你们，你们自己看着办"!</title><link>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/05/15/1197683.html</link><dc:creator>天真的好蓝啊</dc:creator><author>天真的好蓝啊</author><pubDate>Thu, 15 May 2008 01:35:00 GMT</pubDate><guid>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/05/15/1197683.html</guid><wfw:comment>http://www.cnblogs.com/CHONGCHONG2008/comments/1197683.html</wfw:comment><comments>http://www.cnblogs.com/CHONGCHONG2008/archive/2008/05/15/1197683.html#Feedback</comments><slash:comments>61</slash:comments><wfw:commentRss>http://www.cnblogs.com/CHONGCHONG2008/comments/commentRss/1197683.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/CHONGCHONG2008/services/trackbacks/1197683.html</trackback:ping><description><![CDATA[<p><font face="Verdana"><br />
<span style="font-size: 14pt"><strong><span style="font-size: 24pt"><strong style="font-size: 14pt; color: #0000ff">请允许我发到首页,看完网络上的报道,我鼻子酸酸的,眼泪莫名而出,男人哭吧不是罪!</strong></span><br />
</strong></span><br />
<img height="600" alt="" src="http://www.cnblogs.com/images/cnblogs_com/CHONGCHONG2008/136077/o_51200001.jpg" width="450" border="0" /><br />
<br />
<img height="450" alt="" src="http://www.cnblogs.com/images/cnblogs_com/CHONGCHONG2008/136077/o_51200002.jpg" width="600" border="0" /><br />
<br />
<img height="500" alt="" src="http://www.cnblogs.com/images/cnblogs_com/CHONGCHONG2008/136077/o_51200003.jpg" width="366" border="0" /><br />
<br />
<br />
<span style="color: #800080"><strong><span style="color: #993300"><strong style="color: #0000ff">一位战士 :&nbsp;</strong></span> </strong></span>"<span style="font-size: 18pt; color: #ff0000"><strong>求求你们让我再去救一个！我还能再救一个！</a>&nbsp;</strong></span>"<br />
<br />
<span style="color: #0000ff"><strong>温总理&nbsp;:&nbsp;</strong></span> 救人心切的温总理罕有地发怒：&#8220;当温总理接到电话，听说由于桥梁倒塌，彭州市10万群众被堵在山中，救灾人员和物资无法运入时，总理在电话里大喊，&#8216;<span style="color: #800080"><strong style="font-size: 18pt; color: #ff0000">我不管你们怎么样，我只要这10万群众脱险，这是命令！</strong></span>&#8217;之后他把电话挂了。&#8221;</font></p>
<p><font face="Verdana">总理向前往汶川的登机部队领导发出指示，&#8220;<span style="font-size: 18pt; color: #ff0000"><strong>我就一句话，是人民在养你们，你们自己看着办。</strong></span>&#8221;<br />
<br />
<span style="color: #0000ff"><strong>记者 :&nbsp; </strong></span>中国的王牌军再次出动(15军是解放军的甲等主力军,他的战绩就是美国人为之色变的——上甘岭) ,<span style="font-size: 18pt"><strong style="color: #ff0000">很多人都写了遗书</strong></span>。<br />
<br />
<br />
<span style="font-size: 24pt; color: #0000ff"><strong>我们的"平民总理"最近头发白了很多,辛苦了!<br />
<br />
</strong></span></font></p><img src ="http://www.cnblogs.com/CHONGCHONG2008/aggbug/1197683.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43782/" target="_blank">[新闻]分析:百度的三大危机</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>详解ProfileManager内部是如何运行的！</title><link>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/11/13/958581.html</link><dc:creator>天真的好蓝啊</dc:creator><author>天真的好蓝啊</author><pubDate>Tue, 13 Nov 2007 15:34:00 GMT</pubDate><guid>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/11/13/958581.html</guid><wfw:comment>http://www.cnblogs.com/CHONGCHONG2008/comments/958581.html</wfw:comment><comments>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/11/13/958581.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/CHONGCHONG2008/comments/commentRss/958581.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/CHONGCHONG2008/services/trackbacks/958581.html</trackback:ping><description><![CDATA[摘要: 对于asp.NET2.0内置的profile有人支持，确也有不少高人说不过如此，所谓"鸡肋"！<br>那么下面我从它的设计意图,在代码层次上予以介绍,在完全了解了它的思想后我们也可以模仿这样的解决方案,如有错误之处还请高人指点!<br><br>先运行private static void Initialize (bool throwIfNotEnabled) <br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/CHONGCHONG2008/archive/2007/11/13/958581.html'>阅读全文</a><img src ="http://www.cnblogs.com/CHONGCHONG2008/aggbug/958581.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43781/" target="_blank">[新闻]微软：学校应接受学生的数字生活方式</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Flex MXML+as3 VS WPF XAML+c# </title><link>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/06/05/771626.html</link><dc:creator>天真的好蓝啊</dc:creator><author>天真的好蓝啊</author><pubDate>Tue, 05 Jun 2007 01:54:00 GMT</pubDate><guid>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/06/05/771626.html</guid><wfw:comment>http://www.cnblogs.com/CHONGCHONG2008/comments/771626.html</wfw:comment><comments>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/06/05/771626.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/CHONGCHONG2008/comments/commentRss/771626.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/CHONGCHONG2008/services/trackbacks/771626.html</trackback:ping><description><![CDATA[摘要: Flex Framework 与 Microsoft WPF是非常像的，都是用各自独有的相关XML语法来表达界面。<br>WPF的是XAML , 而Flex的是MXML。同样都是XML语法表述。它们都用来表述UI，包含属性，事件，行为，数据绑定，效果等，都有各自的一套相关控件。<br>Flex开始出来的MXML需要在FlexBuilder环境编译，出来以后就是一个swf文件。&nbsp;&nbsp;<a href='http://www.cnblogs.com/CHONGCHONG2008/archive/2007/06/05/771626.html'>阅读全文</a><img src ="http://www.cnblogs.com/CHONGCHONG2008/aggbug/771626.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43780/" target="_blank">[新闻]谷歌节衣缩食迎接经济寒冬</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>FlashMX2004环境下用AS脚本开发的一个FlashMP3播放器</title><link>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/28/762080.html</link><dc:creator>天真的好蓝啊</dc:creator><author>天真的好蓝啊</author><pubDate>Mon, 28 May 2007 01:40:00 GMT</pubDate><guid>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/28/762080.html</guid><wfw:comment>http://www.cnblogs.com/CHONGCHONG2008/comments/762080.html</wfw:comment><comments>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/28/762080.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/CHONGCHONG2008/comments/commentRss/762080.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/CHONGCHONG2008/services/trackbacks/762080.html</trackback:ping><description><![CDATA[摘要: 用了差不多4天时间，开发了一个myPlayer类，暴露了多个相关的方法和属性。<br><br>       支持XML歌曲列表播放，不过这里没地方传xml文件，所有内部会判断一个变量是否定义为undefined,如果是，那么里面就会播放内置的两个mp3地址文件。&nbsp;&nbsp;<a href='http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/28/762080.html'>阅读全文</a><img src ="http://www.cnblogs.com/CHONGCHONG2008/aggbug/762080.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43779/" target="_blank">[新闻]Windows 7 Beta 1将于明年1月13日发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>asp.NET自定义服务器控件内部细节系列教程七(状态管理) </title><link>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/23/757180.html</link><dc:creator>天真的好蓝啊</dc:creator><author>天真的好蓝啊</author><pubDate>Wed, 23 May 2007 06:57:00 GMT</pubDate><guid>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/23/757180.html</guid><wfw:comment>http://www.cnblogs.com/CHONGCHONG2008/comments/757180.html</wfw:comment><comments>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/23/757180.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/CHONGCHONG2008/comments/commentRss/757180.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/CHONGCHONG2008/services/trackbacks/757180.html</trackback:ping><description><![CDATA[摘要:    Contorl类的默认实现将状态管理委托给了ViewState属性，ViewState属性是一个复杂属性，该属性是一个StateBag类型，是一个字典，StateBag类实现了IStateManager接口来实现状态管理。StateBag保存了键/值对，其中键是字符串而值是对象。当某个对象添加到StateBag实例中时，StageBag自动为该对象存储一个附加位，它用来标志存储的对象是否修改过。<br><br>   Control类用于IStateManager接口中相同的成员来实现状态管理，尽管Control并不实现IStateManager接口，只是委托给了实现了IStateManager接口类型的StateBag类，也就是委托给了ViewState属性。在自己的复杂类型状态管理中，可以模仿Control的这种行为，以实现自定义复杂属性的状态管理。<br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/23/757180.html'>阅读全文</a><img src ="http://www.cnblogs.com/CHONGCHONG2008/aggbug/757180.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43778/" target="_blank">[新闻]开源软件：破灭的商业模式</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>asp.NET自定义服务器控件内部细节系列教程六(复杂属性)</title><link>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/23/757170.html</link><dc:creator>天真的好蓝啊</dc:creator><author>天真的好蓝啊</author><pubDate>Wed, 23 May 2007 06:54:00 GMT</pubDate><guid>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/23/757170.html</guid><wfw:comment>http://www.cnblogs.com/CHONGCHONG2008/comments/757170.html</wfw:comment><comments>http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/23/757170.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/CHONGCHONG2008/comments/commentRss/757170.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/CHONGCHONG2008/services/trackbacks/757170.html</trackback:ping><description><![CDATA[摘要:    复杂属性的类型不能用简单的字符串表示。这些类型包括非原子值的类型，除字符串外的引用类型以及集合类型。在使用自己的控件时如果遇到复杂属性，那么为了支持声明持久性还需要做额外的工作，并进行状态管理。<br>   为了使复杂属性具有声明持久性，必须要由以下两个相关的内容一起作用实现：与串行化相关的元数据Attribute和执行给定类型与String类型及其它类型的互相转换的类型转换器，稍后我会讲到。<br><br>1.子属性的形式<br>   1.1 连字符子属性的实现<br>   1.2 内部属性的实现 <br>   1.3 内部默认属性的实现<br><br>2.属性和类型转换器<br>  类型转换器是从System.ComponentModel.TypeConverter派生的一个类。页面框架使用类型转换器来实现视图状态的串行化，而且可视化设计器也适用类型转换器在浏览器中显示属性，并实现设计期的串行化。&nbsp;&nbsp;<a href='http://www.cnblogs.com/CHONGCHONG2008/archive/2007/05/23/757170.html'>阅读全文</a><img src ="http://www.cnblogs.com/CHONGCHONG2008/aggbug/757170.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43778/" target="_blank">[新闻]开源软件：破灭的商业模式</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>