2 * Namespace: System.Web.UI.WebControls
\r
5 * Author: Gaurav Vaish
\r
6 * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>
\r
9 * (C) Gaurav Vaish (2001)
\r
13 using System.ComponentModel;
\r
15 using System.Web.UI;
\r
17 namespace System.Web.UI.WebControls
\r
19 public class Button : WebControl, IPostBackEventHandler
\r
21 private static readonly object ClickEvent = new object();
\r
22 private static readonly object CommandEvent = new object();
\r
24 //private EventHandlerList ehList;
\r
28 // TODO: Initialization
\r
32 public bool CausesValidation
\r
36 Object cv = ViewState["CausesValidation"];
\r
43 //causesValidation = value;
\r
44 ViewState["CausesValidation"] = value;
\r
49 public string CommandArgument
\r
53 //return commandArgument;
\r
54 string ca = (string) ViewState["CommandArgument"];
\r
57 return String.Empty;
\r
61 //commandArgument = value;
\r
62 ViewState["CommandArgument"] = value;
\r
66 public string CommandName
\r
70 string cn = (string)ViewState["CommandName"];
\r
73 return String.Empty;
\r
77 ViewState["CommandArgument"] = value;
\r
83 DefaultValueAttribute("")
\r
85 //[WebSysDescriptionAttribute("Button_Text")]
\r
86 //[WebCategoryAttribute("Appearance")]
\r
91 string text = (string)ViewState["Text"];
\r
94 return String.Empty;
\r
98 ViewState["Text"] = value;
\r
102 public event EventHandler Click
\r
106 Events.AddHandler(ClickEvent, value);
\r
110 Events.RemoveHandler(ClickEvent, value);
\r
114 public event CommandEventHandler Command
\r
118 Events.AddHandler(CommandEvent, value);
\r
122 Events.RemoveHandler(CommandEvent, value);
\r
126 protected virtual void OnClick(EventArgs e)
\r
130 EventHandler eh = (EventHandler)(Events[ClickEvent]);
\r
136 protected virtual void OnCommand(CommandEventArgs e)
\r
140 EventHandler eh = (EventHandler)(Events[CommandEvent]);
\r
146 public void RaisePostBackEvent(string eventArgument)
\r
148 /* Will have to see what work needs to be done before I actually call OnClick
\r
149 * Basically I have to see what is to be done with the string argument
\r
151 if(CausesValidation)
\r
154 OnClick(new EventArgs());
\r
155 OnCommand(new CommandEventArgs(CommandName, CommandArgument));
\r
159 protected override void AddAttributesToRender(HtmlTextWriter writer)
\r
162 writer.AddAttribute(HtmlTextWriterAttribute.Type,"submit");
\r
163 writer.AddAttribute(HtmlTextWriterAttribute.Name,base.UniqueID);
\r
164 writer.AddAttribute(HtmlTextWriterAttribute.Value,Text);
\r
167 if(CausesValidation)
\r
169 //Page.Validators.Count
\r
170 //writer.AddAttribute(HtmlTextWriterAttribute.OnClick, <<The validationcode>>);
\r
171 writer.AddAttribute("language","javascript");
\r
176 protected override void RenderContents(HtmlTextWriter writer)
\r