您的位置:首页 > 其它

第一章 .Net 控件开发(WebForm) 开发简单自定义控件(1) 自定义控件初始

2011-08-21 19:35 393 查看
1、我们先看下要实现的控件的图(点击“显示”按钮一个消息框)



2、先建一个类名叫TestControl的类该继承Control类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;

namespace WebFormControl
{
public class TestControl:Control
{
protected override void Render(HtmlTextWriter writer)
{

}
}
}

3、重写Render方法,看下该方法的说明就知道为何要重写了,这里可能设计到页面的生命周期等只是大家网上搜索下知道

//
// 摘要:
//     将服务器控件内容发送到提供的 System.Web.UI.HtmlTextWriter 对象,此对象编写将在客户端呈现的内容。
//
// 参数:
//   writer:
//     接收服务器控件内容的 System.Web.UI.HtmlTextWriter 对象。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
protected internal virtual void Render(HtmlTextWriter writer);

 

public class TestControl:Control
{
protected override void Render(HtmlTextWriter writer)
{
writer.Write("<table border=\"1\" cellpadding=\"2\" cellspacing=\"3\">");
writer.Write("<tr>");
writer.Write("<td>");
writer.Write("姓名:");
writer.Write("</td>");
writer.Write("<td>");
writer.Write("<input id=\"Txt_Name\" type=\"text\" name=\"Txt_Name\" />");
writer.Write("</td>");
writer.Write("</tr>");
writer.Write("<tr>");
writer.Write("<td colspan=\"2\" align=\"center\">");
writer.Write("<input id=\"Txt_Show\" type=\"submit\" value=\"显示\" name=\"Txt_Show\" />");
writer.Write("</td>");
writer.Write("</tr>");
writer.Write("</table>");
base.Render(writer);
}
}

4、生成控件并将控件添加到工具箱(这里应该都会吧)将控件添加到页面,并运行网页,就是我们开始所说的那个页面,只不过按钮弹出消息框还未实现,这点再后面的章节会讲到,大家查看页面生成的源码就是第3点重写的源码一样,只不过可能布局不美观都是html源码连着的,可以用write.WriteLine方法来替换需要换行的write.Write.

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<cc1:TestControl ID="TestControl1" runat="server">
</cc1:TestControl>
</div>
</form>
</body>
</html>

代码下载地址:点击下载 

本博客内容有些来源于网络或书籍如果侵害到你的权益,请及时联系我(hch458458@vip.qq.com)
版权归nethch所有,转载请注明出处!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐