1: //C#
2: using System;
3: using System.ComponentModel;
4: using System.Web.UI;
5: using System.Web.UI.WebControls;
6: using System.Drawing;
7: public class UserPasswordControl : CompositeControl
8: {
9: public event System.EventHandler Submitted;
10: public string UserName
11: {
12: get
13: {
14: TextBox txt = (TextBox)FindControl(“UserName”);
15: return txt.Text;
16: }
17: set
18: {
19: TextBox txt = (TextBox)FindControl(“UserName”);
20: txt.Text = value;
21: }
22: }
23: public string Password
24: {
25: get
26: {
27: TextBox pwd = (TextBox)FindControl(“Password”);
28: return pwd.Text;
29: }
30: set
31: {
32: TextBox pwd = (TextBox)FindControl(“Password”);
33: pwd.Text = value;
34: }
35: }
36: protected override void CreateChildControls()
37: {
38: Panel pnl = new Panel();
39: TextBox txtUserName = new TextBox();
40: TextBox txtPassword = new TextBox();
41: Button btnSubmit = new Button();
42: btnSubmit.Click += new EventHandler(btnSubmit_Click);
43: //start control buildup
44: Controls.Add(pnl);
45: //add user name row
46: pnl.Controls.Add(new LiteralControl("<table><tr><td>"));
47: pnl.Controls.Add(new LiteralControl(“User Name:"));
48: pnl.Controls.Add(new LiteralControl("</td><td>"));
49: pnl.Controls.Add(txtUserName);
50: pnl.Controls.Add(new LiteralControl("</td></tr>"));
51: //add password row
52: pnl.Controls.Add(new LiteralControl("<tr><td>"));
53: pnl.Controls.Add(new LiteralControl(“Password:"));
54: pnl.Controls.Add(new LiteralControl("</td><td>"));
55: pnl.Controls.Add(txtPassword);
56: pnl.Controls.Add(new LiteralControl("</td></tr>"));
57: //add submit button row
58: pnl.Controls.Add(new LiteralControl(
59: @"<tr><td colspan="”2”" align="”center”" >"));
60: pnl.Controls.Add(btnSubmit);
61: pnl.Controls.Add(new LiteralControl("</td></tr></table>"));
62: //set up control properties
63: pnl.Style.Add(“background-color”, “silver”);
64: pnl.Style.Add(“width”, “275px”);
65: txtUserName.ID = “UserName”;
66: txtUserName.Style.Add(“width”, “170px”);
67: txtPassword.ID = “Password”;
68: txtPassword.TextMode = TextBoxMode.Password;
69: txtPassword.Style.Add(“width”, “170px”);
70: btnSubmit.Text = “Submit”;
71: }
72: void btnSubmit_Click(object sender, EventArgs e)
73: {
74: if (Submitted != null) Submitted(this, e);
75: }
76: }
77: //C#
78: using System;
79: using System.Web.UI;
80: using System.Web.UI.WebControls;
81: public partial class UserPasswordControlTest : System.Web.UI.Page
82: {
83: protected void Page_Init(object sender, EventArgs e)
84: {
85: UserPasswordControl p = new MyUserControls.UserPasswordControl();
86: p.Style.Add(“position”, “absolute”);
87: p.Style.Add(“left”, “25px”);
88: p.Style.Add(“top”, “50px”);
89: form1.Controls.Add(p);
90: p.Submitted += new EventHandler(p_Submitted);
91: }
92: void p_Submitted(object sender, EventArgs e)
93: {
94: UserPasswordControl p = (UserPasswordControl)sender;
95: Response.Write(“User: " + p.UserName + " Pass: " + p.Password);
96: }
97: }