`
lovnet
  • 浏览: 6712403 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Asp.net 2.0 制作复合控件示例(二)[示例代码下载]

阅读更多
(一). 概述
通过制作一个<计算器>功能自定义复合控件演示复合控件的制作
(二). 代码
1. 核心控件实现代码文件ComputeControl.cs
1usingSystem;
2usingSystem.Collections.Generic;
3usingSystem.Text;
4usingSystem.Web;
5usingSystem.Web.UI;
6usingSystem.Web.UI.WebControls;
7
8namespaceKingControls
9{
10publicclassComputeControl:System.Web.UI.WebControls.CompositeControl
11{
12//操作数
13privateTextBoxtb1;
14privateTextBoxtb2;
15
16//显示结果
17privateLabellb;
18
19//操作(+-*/)
20privateButtonbt1;
21privateButtonbt2;
22privateButtonbt3;
23privateButtonbt4;
24
25protectedoverridevoidCreateChildControls()
26{
27tb1=newTextBox();
28tb1.ID="TextBox1";
29this.Controls.Add(tb1);
30
31tb2=newTextBox();
32tb2.ID="TextBox2";
33this.Controls.Add(tb2);
34
35lb=newLabel();
36lb.ID="Label1";
37lb.BackColor=System.Drawing.Color.YellowGreen;
38lb.Text="Result:";
39this.Controls.Add(lb);
40
41bt1=newButton();
42bt1.ID="Button1";
43bt1.Text="+";
44bt1.CommandArgument="+";
45bt1.Click+=newEventHandler(bt_Click);
46this.Controls.Add(bt1);
47bt2=newButton();
48bt2.ID="Button2";
49bt2.Text="-";
50bt2.CommandArgument="-";
51bt2.Click+=newEventHandler(bt_Click);
52this.Controls.Add(bt2);
53bt3=newButton();
54bt3.ID="Button3";
55bt3.Text="*";
56bt3.CommandArgument="*";
57bt3.Click+=newEventHandler(bt_Click);
58this.Controls.Add(bt3);
59bt4=newButton();
60bt4.ID="Button4";
61bt4.Text="/";
62bt4.CommandArgument="/";
63bt4.Click+=newEventHandler(bt_Click);
64this.Controls.Add(bt4);
65}

66
67voidbt_Click(objectsender,EventArgse)
68{
69try
70{
71if("Result:"!=lb.Text)
72{
73lb.Text=lb.Text+",";
74}

75switch(((Button)sender).CommandArgument)
76{
77case"+":lb.Text=lb.Text+Convert.ToString(Convert.ToInt32(this.tb1.Text)+Convert.ToInt32(this.tb2.Text));break;
78case"-":lb.Text=lb.Text+Convert.ToString(Convert.ToInt32(this.tb1.Text)-Convert.ToInt32(this.tb2.Text));break;
79case"*":lb.Text=lb.Text+Convert.ToString(Convert.ToInt32(this.tb1.Text)*Convert.ToInt32(this.tb2.Text));break;
80case"/":lb.Text=lb.Text+Convert.ToString(Convert.ToInt32(this.tb1.Text)/Convert.ToInt32(this.tb2.Text));break;
81}

82}

83catch
84{
85lb.Text="It'sisnotrightformat,pleaseinputagain.";
86}

87}

88
89protectedoverridevoidRenderContents(HtmlTextWriteroutput)
90{
91output.Write("a");
92
93}

94
95protectedoverridevoidRender(HtmlTextWriterwriter)
96{
97writer.RenderBeginTag(HtmlTextWriterTag.Table);
98
99//Operatingitem1
100writer.RenderBeginTag(HtmlTextWriterTag.Tr);
101writer.RenderBeginTag(HtmlTextWriterTag.Td);
102tb1.RenderControl(writer);
103writer.RenderEndTag();
104writer.RenderEndTag();
105
106//<br>
107writer.WriteBreak();
108
109//Operatingsymbol
110writer.RenderBeginTag(HtmlTextWriterTag.Tr);
111writer.RenderBeginTag(HtmlTextWriterTag.Td);
112writer.WriteEncodedText("+-*/");
113writer.RenderEndTag();
114writer.RenderEndTag();
115
116//Operatingitem2
117writer.RenderBeginTag(HtmlTextWriterTag.Tr);
118writer.RenderBeginTag(HtmlTextWriterTag.Td);
119tb2.RenderControl(writer);
120writer.RenderEndTag();
121writer.RenderEndTag();
122
123//Operatingsymbol
124writer.RenderBeginTag(HtmlTextWriterTag.Tr);
125writer.RenderBeginTag(HtmlTextWriterTag.Td);
126writer.WriteEncodedText("EQUAL");
127writer.RenderEndTag();
128writer.RenderEndTag();
129
130//Therelustlabel
131writer.RenderBeginTag(HtmlTextWriterTag.Tr);
132writer.RenderBeginTag(HtmlTextWriterTag.Td);
133lb.RenderControl(writer);
134writer.RenderEndTag();
135writer.RenderEndTag();
136
137//Button1
138writer.RenderBeginTag(HtmlTextWriterTag.Tr);
139writer.RenderBeginTag(HtmlTextWriterTag.Nobr);
140writer.RenderBeginTag(HtmlTextWriterTag.Td);
141bt1.RenderControl(writer);
142bt2.RenderControl(writer);
143bt3.RenderControl(writer);
144bt4.RenderControl(writer);
145writer.RenderEndTag();
146writer.RenderEndTag();
147
148writer.RenderEndTag();
149}

150}

151}

152

2. 前台页面代码 UsingCompositeControl.aspx (使用方法)

1<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="UsingCompositeControl.aspx.cs"Inherits="UsingCompositeControl"%>
2<%@RegisterAssembly="KingControls"Namespace="KingControls"TagPrefix="KSP"%>
3……
4<KSP:ComputeControlID="compute1"runat="server"/>
5……
6

(三). 示例代码下载
分享到:
评论

相关推荐

    ASP.NET2.0和数据绑定控件:新的角度,新的做法

    本页内容为什么需要新的数据源模型ASP.NET2.0中的数据绑定控件分析要点数据绑定机制列表控件HeadlineList示例控件管理自定义集合关于复合控件的一点讨论小结为什么需要新的数据源模型数据绑定是开发人员在ASP.NET1.x...

    asp.net知识库

    ASP.NET2.0控件一览---标准控件(1) ASP.NET2.0控件一览---标准控件(2) ASP.NET 2.0中使用webpart系列控件 ASP.NET 2.0 中实现跨页提交 新控件、管理外观、布局及其它用户体验 ASP.NET 2.0 缓存技术 (原创) asp.net...

    ASP.NET常见问题集锦.zip

    复合 Web 控件示例(2.0).doc 如何在ASP.Net中把图片存入数据库.txt 如何在DateTime字段里只存储日期部分?.txt 如何用.NET创建Windows服务.doc 委托与事件.doc 学生选课系统事例(老师).txt 学生选课系统...

    ASP.NET 3.5 开发大全

    第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签控件(Label) 5.2.2 超链接控件(HyperLink) 5.2.3 图像控件(Image) 5.3 文本框控件(TextBox) 5.3.1 文本框控件的...

    ASP.NET3.5从入门到精通

    第二篇 ASP.NET窗体控件 第 5 章 Web 窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签控件(Label) 5.2.2 超链接控件(HyperLink) 5.2.3 图像控件(Image) 5.3 文本框控件(TextBox) 5.3.1 文本框控件的...

    ASP.NET 3.5 开发大全word课件

    第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签控件(Label) 5.2.2 超链接控件(HyperLink) 5.2.3 图像控件(Image) 5.3 文本框控件(TextBox) 5.3.1 文本框控件的...

    ASP.NET 3.5 开发大全11-15

    第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签控件(Label) 5.2.2 超链接控件(HyperLink) 5.2.3 图像控件(Image) 5.3 文本框控件(TextBox) 5.3.1 文本框控件的...

    ASP.NET 3.5 开发大全1-5

    第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签控件(Label) 5.2.2 超链接控件(HyperLink) 5.2.3 图像控件(Image) 5.3 文本框控件(TextBox) 5.3.1 文本框控件的...

    ASPNET35开发大全第一章

    第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签控件(Label) 5.2.2 超链接控件(HyperLink) 5.2.3 图像控件(Image) 5.3 文本框控件(TextBox) 5.3.1 文本框控件的...

    亮剑.NET深入体验与实战精要2

    8.2.1 安装ASP.NET 2.0 Ajax Extensions 333 8.2.2 创建ASP.NET Ajax应用程序 333 8.2.3 ScriptManager控件使用技巧 335 8.2.4 UpdaetPanel控件使用技巧 336 8.2.5 AsyncPostBackTrigger实现 外部控件引发局部刷新...

    亮剑.NET深入体验与实战精要3

    8.2.1 安装ASP.NET 2.0 Ajax Extensions 333 8.2.2 创建ASP.NET Ajax应用程序 333 8.2.3 ScriptManager控件使用技巧 335 8.2.4 UpdaetPanel控件使用技巧 336 8.2.5 AsyncPostBackTrigger实现 外部控件引发局部刷新...

Global site tag (gtag.js) - Google Analytics