|
|
|
 |
 |
Исходник |
 |
|
 |
 |
|
Автор:
|
|
|
Название:
|
NewLabel |
|
Дата:
|
09 January 2007 |
|
Описание: |
Наследник Label у которого есть свойства
CommandName,CommandArgument и события Click,Command. |
| |
Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения
следующую строку:
[CODEPOST ID=202]NewLabel[/CODEPOST] |
| Оценка: |
Проголосовало 2 посетителей, средняя оценка 3.00 |
| Оценить: |
|
1 Build.bat
2
3 set qq="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc"
4 del bin\Label.dll
5 del bin\WebForm1.aspx.dll
6 cls
7 %qq% /target:library /out:bin\Label.dll Label.cs /r:System.Web.dll
8 %qq% /target:library /out:bin\WebForm1.aspx.dll WebForm1.aspx.cs /r:System.Web.dll /r:bin\Label.dll
9
10 //----------
11 Label.cs
12
13 using System;
14 using System.Web.UI;
15 using System.Web.UI.WebControls;
16
17 namespace NS
18 {
19
20 public class LabelNew : System.Web.UI.WebControls.Label, IPostBackEventHandler
21 {
22 private static object EventCommand = new object();
23 public static readonly object EventClick=new object();
24 public event EventHandler onclick;
25
26 public void RaisePostBackEvent(string eventArgument)
27 {
28 OnCommand(new CommandEventArgs(CommandName, CommandArgument));
29
30 if (onclick != null) onclick (this, new EventArgs ());
31 OnClick(EventArgs.Empty);
32
33 }
34
35 public virtual string txt
36 {
37 get
38 {
39 object obj = ViewState["txt"];
40 return (obj == null) ? String.Empty : (string)obj;
41 }
42 set{ViewState["txt"] = value;}
43 }
44
45 public string CommandName
46 {
47 get
48 {
49 string value = ViewState["CommandName"] as string;
50 return value == null ? "" : value;
51 }
52 set { ViewState["CommandName"] = value; }
53 }
54
55 public string CommandArgument
56 {
57 get
58 {
59 string value = ViewState["CommandArgument"] as string;
60 return value == null ? "" : value;
61 }
62 set { ViewState["CommandArgument"] = value; }
63 }
64
65 protected override void AddAttributesToRender(HtmlTextWriter writer)
66 {
67 base.AddAttributesToRender (writer);
68 writer.AddAttribute(HtmlTextWriterAttribute.Onclick,Page.GetPostBackEventReference(this,String.Empty));
69 }
70
71 protected virtual void OnCommand(CommandEventArgs e)
72 {
73 CommandEventHandler handler = Events[LabelNew.EventCommand] as CommandEventHandler;
74
75 if (handler != null) handler(this, e);
76
77 RaiseBubbleEvent(this, e);
78 }
79
80 protected virtual void OnClick(EventArgs e)
81 {
82 EventHandler handler=(EventHandler)Events[EventClick];
83 if(handler!= null) {handler(this,e); }
84 }
85
86 public event EventHandler Click
87 {
88 add{Events.AddHandler(EventClick,value); }
89 remove{Events.RemoveHandler(EventClick,value); }
90 }
91
92 public event CommandEventHandler Command
93 {
94 add { Events.AddHandler(LabelNew.EventCommand, value); }
95 remove { Events.RemoveHandler(LabelNew.EventCommand, value); }
96 }
97 }
98 }
99 //--------------
100 WebForm1.aspx
101
102 <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="NS.WebForm1" %>
103 <%@ Register TagPrefix="cc2" Namespace="NS" Assembly="Label" %>
104 <HTML>
105 <body>
106 <form id="Form1" method="post" runat="server">
107 <cc2:LabelNew id="LabelNew1" runat="server" CommandName="NameLabelNew1"
108 CommandArgument="ArgumentLabelNew1" Text="LabelNew1" txt="ttt" />
109 <br/>
110 <asp:Label id="Label1" Text="Label1" runat="server" />
111 <br/>
112 <asp:Label id="Label2" Text="Label2" runat="server" />
113 <br/>
114 <asp:Label id="Label3" Text="Label3" runat="server" />
115 <br/>
116 <asp:Label id="Label4" Text="Label4" runat="server" />
117 </form>
118 </body>
119 </HTML>
120
121 //----------
122 WebForm1.aspx.cs
123
124 using System;
125 using System.Collections;
126 using System.ComponentModel;
127 using System.Data;
128 using System.Drawing;
129 using System.Web;
130 using System.Web.SessionState;
131 using System.Web.UI;
132 using System.Web.UI.WebControls;
133 using System.Web.UI.HtmlControls;
134
135 namespace NS
136 {
137 public class WebForm1 : System.Web.UI.Page
138 {
139 protected System.Web.UI.WebControls.Label Label1;
140 protected System.Web.UI.WebControls.Label Label2;
141 protected System.Web.UI.WebControls.Label Label3;
142 protected System.Web.UI.WebControls.Label Label4;
143 protected NS.LabelNew LabelNew1;
144
145 private void Page_Load(object sender, System.EventArgs e)
146 {
147 // Put user code to initialize the page here
148 }
149
150 override protected void OnInit(EventArgs e)
151 {
152 InitializeComponent();
153 base.OnInit(e);
154 }
155
156 private void InitializeComponent()
157 {
158 this.LabelNew1.Command += new System.Web.UI.WebControls.CommandEventHandler(this.LabelNew1_Command);
159 this.LabelNew1.Click += new System.EventHandler(this.LabelNew1_Click);
160 this.Load += new System.EventHandler(this.Page_Load);
161 }
162
163 private void LabelNew1_Click(object sender, System.EventArgs e)
164 {
165 // Label1.Text=((LabelNew)sender).CommandArgument;
166 // Label1.Text=((LabelNew)sender).txt;
167 }
168
169 private void LabelNew1_Command(object sender, System.Web.UI.WebControls.CommandEventArgs e)
170 {
171
172 Label1.Text="LabelNew1_Command";
173 Label2.Text=e.CommandArgument.ToString();
174 Label3.Text=e.CommandName.ToString();
175 Label4.Text=((LabelNew)sender).CommandArgument;
176
177 }
178 }
179 }
180 |
| Вернуться к списку исходников в категории Создание элементов управления |
|
|
 |
 |
 |
 |
|
|