您的位置:首页 > Web前端 > HTML

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

2010-06-02 14:48 295 查看
 

 

 

本文目的:

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

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

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



 

 

 

    先假设一下,以上的唐诗自定义控件至少需要两个属性,一个是唐诗的标题,一个是唐诗的内容。那么,我们的第一步,应该是在自定义控件项目中添加一个名为“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);
}


 

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



 

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



 

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



 
 
===================================================================
原创不容易,转载请注明出处:http://hi.csdn.net/smallfools
相关链接:
在VS2008中创建自定义控件(一)创建网站项目和自定义控件项目

在VS2008中创建自定义控件(二)创建自定义控件并将其添加到工具箱中

在VS2008中创建自定义控件(三)在网页中添加自定义控件

在VS2008中创建自定义控件(四)为自定义控件添加默认值

在VS2008中创建自定义控件(五)修改tagprefix

在VS2008中创建自定义控件(六)创建完全自定义控件

在VS2008中创建自定义控件(七)自定义控件的中常用到的特性

在VS2008中创建自定义控件(八)输出HTML代码

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

在VS2008中创建自定义控件(十)添加枚举型属性

在VS2008中创建自定义控件(十一)添加在属性窗口中可折叠的属性(一)

在VS2008中创建自定义控件(十二)添加在属性窗口中可折叠的属性(二)

在VS2008中创建自定义控件(十三)添加内镶属性

在VS2008中创建自定义控件(十四)内镶属性与内联属性的优先级

在VS2008中创建自定义控件(十五)创建控件时出错(未能对属性XXX设置XXX)的解决方法

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

    本文的源代码可以在http://download.csdn.net/source/3267829中下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐