time 
设为首页】【收藏本站
当前位置: 主页 > 程序设计 > .net > Visual Studio > 在VS2008中创建自定义控件(九)添加属性

在VS2008中创建自定义控件(九)添加属性

时间:2010-12-01 23:42 点击:1673次 字体:[ ]




本文目的:

1、创建一个自定义控件,该控件可以用来存储一首唐诗。

2、在自定义控件中添加属性。

3、在RenderContents()方法中实现复杂一点的功能。

在VS2008中创建自定义控件(九)添加属性_www.fengfly.com


    先假设一下,以上的唐诗自定义控件至少需要两个属性,一个是唐诗的标题,一个是唐诗的内容。那么,我们的第一步,应该是在自定义控件项目中添加一个名为“poetry”的ASP.NET服务器控件,然后为自定义控件添加属性。

    在《在VS2008中创建自定义控件(六)创建完全自定义控件》中我们可以知道,当创建一个自定义控件时,VS会自动为该自定义控件添加一个Text属性,这个属性我们可以直接用来代表唐诗的内容。为了便于理解,我们将VS自动生成的Text属性修改如下:

  1. /// <summary>  
  2. /// 唐诗的内容  
  3. /// </summary>  
  4. [Category("Data")]              //放到“数据”分组中  
  5. [Browsable(true)]               //该项属性是否会显示在控件的“属性”窗口中  
  6. [Description("诗的内容")]       //属性的说明  
  7. public string Text  
  8. {  
  9.     get 
  10.     {  
  11.         String s = (String)ViewState["Text"];  
  12.         return ((s == null) ? String.Empty : s);  
  13.     }  
  14.     set 
  15.     {  
  16.         ViewState["Text"] = value;  
  17.     }  

 


    然后,通过复制Text属性的代码,我们可以很容易地为自定义控件添加另一个属性——唐诗的标题,在这里假设为属性名是Title。那么定义Title属性的代码如下所示。

  1. /// <summary>  
  2. /// 唐诗的标题  
  3. /// </summary>  
  4. [Category("Data")]              //放到“数据”分组中  
  5. [Browsable(true)]               //该项属性是否会显示在控件的“属性”窗口中  
  6. [Description("诗的标题")]       //属性的说明  
  7. public string Title  
  8. {  
  9.     get 
  10.     {  
  11.         String s = (String)ViewState["Title"];  
  12.         return ((s == null) ? String.Empty : s);  
  13.     }  
  14.     set 
  15.     {  
  16.         ViewState["Title"] = value;  
  17.     }  

 

    在两个属性添加完毕之后,下一步应该考虑怎么在浏览器中自定义控件中的内容。请不要忘记在《在VS2008中创建自定义控件(八)输出HTML代码》中介绍过的,通过重写RenderContents()方法来达到呈现自定义控件的目的(也就是在浏览器窗口中输出由自定义控件的值组成的HTML代码)。重写的代码如下所示。

 

  1. /// <summary>  
  2. /// 呈现控件  
  3. /// </summary>  
  4. /// <param name="output"></param>  
  5. protected override void RenderContents(HtmlTextWriter output)  
  6. {  
  7.     string OutText = "<p style="\" mce_style="\""text-align:center; font-size:12pt; font-weight:bold;\">" + Title + "</p>";  
  8.     OutText += "<p style="\" mce_style="\""text-align:center; font-size:10pt;\">" + Text + "</p>";  
  9.     output.Write(OutText);  

    完成以上代码之后,我们可以将自定义控件直接拖到网页中,此时,在自定义控件的“属性”窗口中可以看到我们为自定义控件添加的属性,也可以在网页的“设计”窗口看到自定义控件的大概模样,如下图所示。

在VS2008中创建自定义控件(九)添加属性_www.fengfly.com

    在Title属性和Text属性中添加属性值并生成解决方案之后,我们可以看到运行结果如下图所示。

在VS2008中创建自定义控件(九)添加属性_www.fengfly.com

    再查看一下网页的源代码,我们可以看到在<span></span>标签中的源代码就是RenderContents()方法中输出的内容,如下图所示。

在VS2008中创建自定义控件(九)添加属性_www.fengfly.com

本文源码下载 



本文地址 : http://www.fengfly.com/plus/view-192992-1.html
标签: VS2008
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: