动态生成html控件

html服务器控件

1、关于html服务器控件

实质就是一个html元素,只是加一个runat属性,属性值为server。那么它就是一个html服务器控件了

html服务器控件只能写在服务器表单

代码示例

<div id="div1" runat="server"></div>

这样就可以在后台通过id调用 此html元素了

 

2、自定义html服务器控件操作

创建html服务器控件公共对象

HtmlGenericControl HTMLGC1 = new HtmlGenericControl();

此时的对象:拥有开始标签和结束标签,且默认标签名(TagName属性)span如何指定?下面详解

HtmlGenericControl类引自: System.Web.UI.HtmlControls(此命名空间拥有几乎所有的html服务器元素对象)

 

更改标签名

HTMLGC1.TagName = "div";

这样就可以自定义任意元素了

 

增加属性

为之前创建的HTMLGC1元素添加属性

1

HTMLGC1.Attributes["id"] = "div1";

2

HTMLGC1.Attributes.Add("id", "div1");

注:两种增加方式效果一样。怎么写看自己爱好

例子所示为:添加一个id属性,属性值为"div1"其他属性应该可以猜到了,不再多讲

知识扩展:所有服务器控件对象都可使用此属性动态追加属性,

增加方式:在原有属性后面追加,即使有相同的也不会覆盖

 

指定位置 添加HTML元素对象

首先要在表单中你需要的位置写下

<span id="div1" runat="server"></span>

然后调用此元素,进行增加 最初创建的HTMLGC1元素对象。见下

div1.Controls.Add(HTMLGC1);

增加方式:div1标签之间 之前的html代码 底部追加

 

知识扩展

首先看这段代码

<span id="div1" runat="server"></span>

根据上面知识,现在可以猜到,加runat="server"后的实质效果,相当于在后台代码这样写下

HtmlGenericControl div1 = new HtmlGenericControl();

div1.Attributes["id"] = "div1";

Form.Controls.Add(div1);

而实际上aspx页面被编译为Page类时,就是生成这样的代码

 

posted @ 2011-09-14 18:12  甜菜波波  阅读(384)  评论(0编辑  收藏  举报