欢迎光临
我们一直在努力

自定义个性化的web复合控件-.NET教程,Web Service开发

建站超值云服务器,限时71元/月

.net为大家提供了各种各样的控件,也足够的丰富多彩。但是有时候你是不是想开发一些自己的控件以提高开发效率,或者实现一些特殊的功能呢。

下面我讲述一下,建立一个最基本的web复合控件的过程。

首先新建一个c#类库项目,取名叫mycontrol吧。删除默认的类文件class1,然后建立我们自己的类文件mycontrol.cs。

现在我们向其中添加密码。

在刚生成的代码上先把它修改成这样子

我们将使用以下引用:

using system;

using system.io;

using system.drawing;

using system.web.ui;

using system.web.ui.webcontrols;

using system.componentmodel;

保证我们的mycontro是从webcontrol继承的。

public class mycontrol:webcontrol

下面我们将重写下面两个函数,这都是必须的

protected override void render(htmltextwriter writer)

protected override void createchildcontrols()

修改第一个函数为下面代码

protected override void render(htmltextwriter writer)

{

this.createchildcontrols();

base.render (writer);

}

修改第二个函数为下面代码

protected override void createchildcontrols()

{

// 清除现有的子控件及其 viewstate

this.controls.clear();

this.clearchildviewstate();

// 生成控件树

// 生成环境表格(一行,两个单元格)

table mytable = new table();

//build the table row生成表格中的行

tablerow row = new tablerow();

mytable.rows.add(row);

// 生成单元格

tablecell mycell = new tablecell();

//用来生成链接按钮导航条的代码。每个按钮都显示有一个 webdings 字符,可以根据需//禁用,并被绑定到内部的 click 事件处理程序。

linkbutton mylinkbutton = new linkbutton();

mylinkbutton.id = "mylinkbutton";

mylinkbutton.click += new eventhandler(mylinkbutton_click);

mylinkbutton.font.name = "宋体";

mylinkbutton.tooltip = "好玄啊!";

mylinkbutton.text = "请点我";

mycell.controls.add(mylinkbutton);

row.cells.add(mycell);

controls.add(t);

}

下面写你自己的事件的方法吧

private void mylinkbutton_click(object sender,system.eventargs e)

{

page.response.write("想干点什么就写点什么吧,就这么简单!");

}

下面编译一下吧,然后点工具—》添加/移除工具箱项

然后浏览到你编译生成的dll,现在在工具箱里你看到了什么?

把mycontrol拖到你自己的webform上看看效果吧。

ok,就这么简单。

好了,时间不多就先写到这里吧。

我们以后将继续讨论这个自定义控件的扩展。不过聪明的你也应该能扩展出很多功能来了吧。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 自定义个性化的web复合控件-.NET教程,Web Service开发
分享到: 更多 (0)