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

 

 

 

本文目的:

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

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

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

在VS2008中创建自定义控件(九)添加属性_第1张图片

 

 

 

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

 

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

/// <summary> /// 唐诗的内容 /// </summary> [Category("Data")] //放到“数据”分组中 [Browsable(true)] //该项属性是否会显示在控件的“属性”窗口中 [Description("诗的内容")] //属性的说明 public string Text { get { String s = (String)ViewState["Text"]; return ((s == null) ? String.Empty : s); } set { ViewState["Text"] = value; } } 


 

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

/// <summary> /// 唐诗的标题 /// </summary> [Category("Data")] //放到“数据”分组中 [Browsable(true)] //该项属性是否会显示在控件的“属性”窗口中 [Description("诗的标题")] //属性的说明 public string Title { get { String s = (String)ViewState["Title"]; return ((s == null) ? String.Empty : s); } set { ViewState["Title"] = value; } } 

 

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

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

 

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

在VS2008中创建自定义控件(九)添加属性_第2张图片

 

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

 

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

在VS2008中创建自定义控件(九)添加属性_第3张图片

 

 

===================================================================

原创不容易,转载请注明出处:http://hi.csdn.net/smallfools

相关链接:

  1. 在VS2008中创建自定义控件(一)创建网站项目和自定义控件项目
  2. 在VS2008中创建自定义控件(二)创建自定义控件并将其添加到工具箱中
  3. 在VS2008中创建自定义控件(三)在网页中添加自定义控件
  4. 在VS2008中创建自定义控件(四)为自定义控件添加默认值
  5. 在VS2008中创建自定义控件(五)修改tagprefix
  6. 在VS2008中创建自定义控件(六)创建完全自定义控件
  7. 在VS2008中创建自定义控件(七)自定义控件的中常用到的特性
  8. 在VS2008中创建自定义控件(八)输出HTML代码
  9. 在VS2008中创建自定义控件(九)添加属性
  10. 在VS2008中创建自定义控件(十)添加枚举型属性
  11. 在VS2008中创建自定义控件(十一)添加在属性窗口中可折叠的属性(一)
  12. 在VS2008中创建自定义控件(十二)添加在属性窗口中可折叠的属性(二)
  13. 在VS2008中创建自定义控件(十三)添加内镶属性
  14. 在VS2008中创建自定义控件(十四)内镶属性与内联属性的优先级
  15. 在VS2008中创建自定义控件(十五)创建控件时出错(未能对属性XXX设置XXX)的解决方法

===================================================================

 

    本文的源代码可以在http://download.csdn.net/source/3267829中下载

你可能感兴趣的:(html,String,浏览器,null,asp.net,output)