2 * Namespace: System.Web.UI.WebControls
\r
5 * Author: Gaurav Vaish
\r
6 * Maintainer: gvaish@iitk.ac.in
\r
7 * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>
\r
10 * (C) Gaurav Vaish (2001)
\r
14 using System.ComponentModel;
\r
16 using System.Web.UI;
\r
18 namespace System.Web.UI.WebControls
\r
20 public class Button : WebControl, IPostBackEventHandler
\r
22 private static readonly object ClickEvent = new object();
\r
23 private static readonly object CommandEvent = new object();
\r
25 //private EventHandlerList ehList;
\r
29 // TODO: Initialization
\r
33 public bool CausesValidation
\r
37 Object cv = ViewState["CausesValidation"];
\r
44 //causesValidation = value;
\r
45 ViewState["CausesValidation"] = value;
\r
50 public string CommandArgument
\r
54 //return commandArgument;
\r
55 string ca = (string) ViewState["CommandArgument"];
\r
58 return String.Empty;
\r
62 //commandArgument = value;
\r
63 ViewState["CommandArgument"] = value;
\r
67 public string CommandName
\r
71 string cn = (string)ViewState["CommandName"];
\r
74 return String.Empty;
\r
78 ViewState["CommandArgument"] = value;
\r
84 DefaultValueAttribute("")
\r
86 //[WebSysDescriptionAttribute("Button_Text")]
\r
87 //[WebCategoryAttribute("Appearance")]
\r
92 string text = (string)ViewState["Text"];
\r
95 return String.Empty;
\r
99 ViewState["Text"] = value;
\r
103 public event EventHandler Click
\r
107 Events.AddHandler(ClickEvent, value);
\r
111 Events.RemoveHandler(ClickEvent, value);
\r
115 public event CommandEventHandler Command
\r
119 Events.AddHandler(CommandEvent, value);
\r
123 Events.RemoveHandler(CommandEvent, value);
\r
127 protected virtual void OnClick(EventArgs e)
\r
131 EventHandler eh = (EventHandler)(Events[ClickEvent]);
\r
137 protected virtual void OnCommand(CommandEventArgs e)
\r
141 EventHandler eh = (EventHandler)(Events[CommandEvent]);
\r
147 public void RaisePostBackEvent(string eventArgument)
\r
149 /* Will have to see what work needs to be done before I actually call OnClick
\r
150 * Basically I have to see what is to be done with the string argument
\r
152 if(CausesValidation)
\r
155 OnClick(new EventArgs());
\r
156 OnCommand(new CommandEventArgs(CommandName, CommandArgument));
\r
160 protected override void AddAttributesToRender(HtmlTextWriter writer)
\r
163 writer.AddAttribute(HtmlTextWriterAttribute.Type,"submit");
\r
164 writer.AddAttribute(HtmlTextWriterAttribute.Name,base.UniqueID);
\r
165 writer.AddAttribute(HtmlTextWriterAttribute.Value,Text);
\r
168 if(CausesValidation)
\r
170 //Page.Validators.Count
\r
171 //writer.AddAttribute(HtmlTextWriterAttribute.OnClick, <<The validationcode>>);
\r
172 writer.AddAttribute("language","javascript");
\r
175 throw new NotImplementedException();
\r
178 protected override void RenderContents(HtmlTextWriter writer)
\r
180 // Preventing subclasses to do anything
\r