+2002-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * System.Web.SessionState/HttpSessionState.cs:
+ Fixes based on class status page:
+
+ - Add attributes (DefaultEvent, ParseChildren).
+ - Fix declarations.
+ - Explicitly implement some interfaces (IPostBackDataHandler
+ and IPostBackEventHandler).
+ - Implemented some missing methods.
+
2002-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* HttpSessionState.cs: implemented more methods/properties.
public int CodePage
{
get { return 0; }
+ set { }
}
public HttpSessionState Contents
+2002-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * System.Web.UI.HtmlControls/HtmlAnchor.cs:
+ * System.Web.UI.HtmlControls/HtmlButton.cs:
+ * System.Web.UI.HtmlControls/HtmlControl.cs:
+ * System.Web.UI.HtmlControls/HtmlForm.cs:
+ * System.Web.UI.HtmlControls/HtmlGenericControl.cs:
+ * System.Web.UI.HtmlControls/HtmlInputButton.cs:
+ * System.Web.UI.HtmlControls/HtmlInputCheckBox.cs:
+ * System.Web.UI.HtmlControls/HtmlInputControl.cs:
+ * System.Web.UI.HtmlControls/HtmlInputFile.cs:
+ * System.Web.UI.HtmlControls/HtmlInputHidden.cs:
+ * System.Web.UI.HtmlControls/HtmlInputImage.cs:
+ * System.Web.UI.HtmlControls/HtmlInputRadioButton.cs:
+ * System.Web.UI.HtmlControls/HtmlInputText.cs:
+ * System.Web.UI.HtmlControls/HtmlSelect.cs:
+ * System.Web.UI.HtmlControls/HtmlTable.cs:
+ * System.Web.UI.HtmlControls/HtmlTableCell.cs:
+ * System.Web.UI.HtmlControls/HtmlTableRow.cs:
+ * System.Web.UI.HtmlControls/HtmlTextArea.cs:
+
+ Fixes based on class status page:
+
+ - Add attributes (DefaultEvent, ParseChildren).
+ - Fix declarations.
+ - Explicitly implement some interfaces (IPostBackDataHandler
+ and IPostBackEventHandler).
+ - Implemented some missing methods.
+
2002-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* HtmlForm.cs:
*/\r
\r
using System;\r
+using System.ComponentModel;\r
using System.Web;\r
using System.Web.UI;\r
\r
namespace System.Web.UI.HtmlControls{\r
\r
+ [DefaultEvent("ServerClick")]\r
public class HtmlAnchor : HtmlContainerControl, IPostBackEventHandler{\r
\r
private static readonly object EventServerClick;\r
\r
public HtmlAnchor(): base("a"){}\r
\r
+ protected override void OnPreRender (EventArgs e)\r
+ {\r
+ base.OnPreRender (e);\r
+ }\r
+\r
protected virtual void OnServerClick(EventArgs e){\r
EventHandler handler;\r
handler = (EventHandler) Events[EventServerClick];\r
*/\r
\r
using System;\r
+using System.ComponentModel;\r
using System.Web;\r
using System.Web.UI;\r
\r
namespace System.Web.UI.HtmlControls{\r
\r
+ [DefaultEvent("ServerClick")]\r
public class HtmlButton : HtmlContainerControl, IPostBackEventHandler{\r
\r
private static readonly object EventServerClick;\r
if(tag != null && tag != String.Empty) _tagName = tag;\r
}\r
\r
+ protected override ControlCollection CreateControlCollection ()\r
+ {\r
+ return new EmptyControlCollection (this);\r
+ }\r
+\r
internal static string AttributeToString(int n){\r
if (n != -1)return n.ToString(NumberFormatInfo.InvariantInfo);\r
return null;\r
}\r
}\r
\r
- public string Name{\r
+ public virtual string Name{\r
get{\r
string attr = Attributes["name"];\r
if (attr != null){\r
-//\r
-// System.Web.UI.HtmlControls.HtmlGenericControl.cs\r
-//\r
-// Author:\r
- // Bob Smith <bob@thestuff.net>\r
- //\r
- // (C) Bob Smith\r
- //\r
- \r
- using System;\r
- using System.Web;\r
- using System.Web.UI;\r
- \r
- namespace System.Web.UI.HtmlControls{\r
- \r
- public class HtmlGenericControl : HtmlContainerControl {\r
- \r
- public HtmlGenericControl(){}\r
- \r
- public HtmlGenericControl(string tag): base(tag){}\r
- \r
- }\r
- }\r
+//
+// System.Web.UI.HtmlControls.HtmlGenericControl.cs
+//
+// Author:
+// Bob Smith <bob@thestuff.net>
+//
+// (C) Bob Smith
+//
+
+using System;
+using System.Web;
+using System.Web.UI;
+
+namespace System.Web.UI.HtmlControls{
+
+ [ConstructorNeedsTag]
+ public class HtmlGenericControl : HtmlContainerControl {
+
+ public HtmlGenericControl() :
+ this ("span")
+ {
+ }
+
+ public HtmlGenericControl (string tag) :
+ base(tag)
+ {
+ }
+
+ public override string TagName
+ {
+ get { return base.TagName; }
+ }
+ }
+}
+
*/\r
\r
using System;\r
+using System.ComponentModel;\r
+using System.Globalization;\r
using System.Web;\r
using System.Web.UI;\r
-using System.Globalization;\r
\r
namespace System.Web.UI.HtmlControls{\r
\r
+ [DefaultEvent("ServerClick")]\r
public class HtmlInputButton : HtmlInputControl, IPostBackEventHandler{\r
\r
private static readonly object EventServerClick;\r
\r
public HtmlInputButton(string type): base(type){}\r
\r
- protected void OnServerClick(EventArgs e){\r
+ protected override void OnPreRender (EventArgs e)\r
+ {\r
+ base.OnPreRender(e);\r
+ }\r
+\r
+ protected override void RenderAttributes (HtmlTextWriter writer)\r
+ {\r
+ base.RenderAttributes (writer);\r
+ }\r
+\r
+ protected virtual void OnServerClick(EventArgs e){\r
EventHandler handler = (EventHandler) Events[EventServerClick];\r
if (handler != null){\r
handler.Invoke(this, e);\r
}\r
}\r
\r
- public void RaisePostBackEvent(string eventArgument){\r
+ void IPostBackEventHandler.RaisePostBackEvent (string eventArgument)\r
+ {\r
if(CausesValidation == true){\r
Page.Validate();\r
}\r
*/\r
\r
using System;\r
+using System.Collections.Specialized;\r
+using System.ComponentModel;\r
+using System.Globalization;\r
using System.Web;\r
using System.Web.UI;\r
-using System.Globalization;\r
-using System.Collections.Specialized;\r
\r
namespace System.Web.UI.HtmlControls{\r
\r
+ [DefaultEvent("ServerChange")]\r
public class HtmlInputCheckBox : HtmlInputControl, IPostBackDataHandler{\r
\r
private static readonly object EventServerChange;\r
\r
public HtmlInputCheckBox(): base("checkbox"){}\r
\r
- public bool LoadPostData(string postDataKey, NameValueCollection postCollection){\r
- string postValue = postCollection[postDataKey];\r
+ bool IPostBackDataHandler.LoadPostData (string postDataKey, \r
+ NameValueCollection postCollection)\r
+ {\r
+ string postValue = postCollection [postDataKey];\r
bool postChecked = false;\r
+ bool retval = false;\r
+\r
if (postValue != null)\r
postChecked = postValue.Length > 0;\r
- Checked = postChecked;\r
- return (postChecked == Checked == false);\r
+\r
+ if (Checked != postChecked){\r
+ retval = true;\r
+ Checked = postChecked;\r
+ }\r
+\r
+ return retval;\r
}\r
\r
- public void RaisePostDataChangedEvent(){\r
- OnServerChange(EventArgs.Empty);\r
+ void IPostBackDataHandler.RaisePostDataChangedEvent ()\r
+ {\r
+ OnServerChange (EventArgs.Empty);\r
}\r
\r
- protected void OnServerChange(EventArgs e){\r
+ protected virtual void OnServerChange(EventArgs e){\r
EventHandler handler = (EventHandler) Events[EventServerChange];\r
if (handler != null) handler.Invoke(this, e);\r
}\r
namespace System.Web.UI.HtmlControls
{
- public class HtmlInputControl : HtmlControl
+ public abstract class HtmlInputControl : HtmlControl
{
public HtmlInputControl (string type) : base ("input")
{
get { return Name; }
}
-
+
public string Type
{
get {
\r
public HtmlInputFile():base("file"){}\r
\r
- public virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection){\r
- string postValue = postCollection[postDataKey];\r
+ bool IPostBackDataHandler.LoadPostData (string postDataKey,\r
+ NameValueCollection postCollection)\r
+ {\r
+ string postValue = postCollection [postDataKey];\r
if (postValue != null)\r
Value = postValue;\r
return false;\r
}\r
\r
- public virtual void RaisePostDataChangedEvent(){}\r
+ void IPostBackDataHandler.RaisePostDataChangedEvent ()\r
+ {\r
+ }\r
\r
public string Accept{\r
get{\r
*/\r
\r
using System;\r
+using System.Collections.Specialized;\r
+using System.ComponentModel;\r
+using System.Globalization;\r
using System.Web;\r
using System.Web.UI;\r
-using System.Globalization;\r
-using System.Collections.Specialized;\r
\r
namespace System.Web.UI.HtmlControls{\r
\r
+ [DefaultEvent("ServerChange")]\r
public class HtmlInputHidden : HtmlInputControl, IPostBackDataHandler{\r
\r
private static readonly object EventServerChange;\r
{\r
}\r
\r
- public bool LoadPostData(string postDataKey, NameValueCollection postCollection){\r
- string postValue = postCollection[postDataKey];\r
+ bool IPostBackDataHandler.LoadPostData (string postDataKey,\r
+ NameValueCollection postCollection)\r
+ {\r
+ string postValue = postCollection [postDataKey];\r
if (postValue != null)\r
Value = postValue;\r
return false;\r
}\r
\r
- public virtual void RaisePostDataChangedEvent(){\r
- OnServerChange(EventArgs.Empty);\r
+ void IPostBackDataHandler.RaisePostDataChangedEvent ()\r
+ {\r
+ // don't need anything. LoadPostData always returns false.\r
}\r
\r
- protected void OnServerChange(EventArgs e){\r
- EventHandler handler = (EventHandler) Events[EventServerChange];\r
- if (handler != null) handler.Invoke(this, e);\r
+ protected virtual void OnServerChange (EventArgs e)\r
+ {\r
+ EventHandler handler = (EventHandler) Events [EventServerChange];\r
+ if (handler != null) handler.Invoke (this, e);\r
}\r
\r
protected override void OnPreRender(EventArgs e){\r
}\r
}\r
\r
- protected void OnServerClick(ImageClickEventArgs e){\r
+ protected override void RenderAttributes(HtmlTextWriter writer)\r
+ {\r
+ base.RenderAttributes (writer);\r
+ // Anything else?\r
+ }\r
+\r
+ protected virtual void OnServerClick(ImageClickEventArgs e){\r
ImageClickEventHandler handler = (ImageClickEventHandler) Events[EventServerClick];\r
- // if (handler != null) handler.Invoke(this, e);\r
+ if (handler != null) handler (this, e);\r
}\r
\r
- public bool LoadPostData(string postDataKey, NameValueCollection postCollection){\r
+ bool IPostBackDataHandler.LoadPostData (string postDataKey,\r
+ NameValueCollection postCollection)\r
+ {\r
string postX = postCollection[String.Concat(RenderedName,".x")];\r
string postY = postCollection[String.Concat(RenderedName,".y")];\r
if (postX != null && postY != null && postX.Length >= 0 && postY.Length >= 0){\r
return false;\r
}\r
\r
- public void RaisePostBackEvent(string eventArgument){\r
- if (CausesValidation){\r
+ void IPostBackEventHandler.RaisePostBackEvent (string eventArgument)\r
+ {\r
+ if (CausesValidation)\r
Page.Validate();\r
- }\r
- OnServerClick(new ImageClickEventArgs(_x,_y));\r
+ OnServerClick (new ImageClickEventArgs(_x, _y));\r
}\r
\r
- public void RaisePostDataChangedEvent(){}\r
+ void IPostBackDataHandler.RaisePostDataChangedEvent ()\r
+ {\r
+ }\r
\r
public event EventHandler ServerClick{\r
add{\r
*/\r
\r
using System;\r
+using System.Collections.Specialized;\r
+using System.ComponentModel;\r
+using System.Globalization;\r
using System.Web;\r
using System.Web.UI;\r
-using System.Globalization;\r
-using System.Collections.Specialized;\r
\r
namespace System.Web.UI.HtmlControls{\r
\r
+ [DefaultEvent("ServerChange")]\r
public class HtmlInputRadioButton : HtmlInputControl, IPostBackDataHandler{\r
\r
private static readonly object EventServerChange;\r
}\r
}\r
\r
- protected void OnServerChange(EventArgs e){\r
+ protected virtual void OnServerChange(EventArgs e){\r
EventHandler handler = (EventHandler) Events[EventServerChange];\r
if (handler != null){\r
handler.Invoke(this, e);\r
base.RenderAttributes(writer);\r
}\r
\r
- public bool LoadPostData(string postDataKey, NameValueCollection postCollection){\r
- string postValue = postCollection[postDataKey];\r
+ bool IPostBackDataHandler.LoadPostData (string postDataKey,\r
+ NameValueCollection postCollection)\r
+ {\r
+ string postValue = postCollection [postDataKey];\r
bool myBool = false;\r
- if (postValue != null && postValue.Equals(Value)){\r
- if (!Checked){\r
+ if (postValue != null && postValue.Equals (Value)) {\r
+ if (!Checked) {\r
Checked = true;\r
myBool = true;\r
}\r
- }\r
- else{\r
- if (Checked){\r
+ } else {\r
+ if (Checked) {\r
Checked = false;\r
myBool = false;\r
}\r
return myBool;\r
}\r
\r
- public void RaisePostDataChangedEvent(){\r
- OnServerChange(EventArgs.Empty);\r
+ void IPostBackDataHandler.RaisePostDataChangedEvent ()\r
+ {\r
+ OnServerChange (EventArgs.Empty);\r
}\r
\r
public event EventHandler ServerChange{\r
*/\r
\r
using System;\r
+using System.Collections.Specialized;\r
+using System.ComponentModel;\r
+using System.Globalization;\r
using System.Web;\r
using System.Web.UI;\r
-using System.Globalization;\r
-using System.Collections.Specialized;\r
\r
namespace System.Web.UI.HtmlControls{\r
\r
+ [DefaultEvent("ServerChange")]\r
public class HtmlInputText : HtmlInputControl, IPostBackDataHandler{\r
\r
private static readonly object EventServerChange;\r
}\r
}\r
\r
- protected void OnServerChange(EventArgs e){\r
- EventHandler handler = (EventHandler) Events[EventServerChange];\r
- if (handler != null) handler.Invoke(this, e);\r
+ protected virtual void OnServerChange (EventArgs e)\r
+ {\r
+ EventHandler handler = (EventHandler) Events [EventServerChange];\r
+ if (handler != null) handler (this, e);\r
}\r
\r
protected override void RenderAttributes(HtmlTextWriter writer){\r
base.RenderAttributes(writer);\r
}\r
\r
- public bool LoadPostData(string postDataKey, NameValueCollection postCollection){\r
+ bool IPostBackDataHandler.LoadPostData (string postDataKey,\r
+ NameValueCollection postCollection)\r
+ {\r
string currentValue = Value;\r
- string[] postedValue = postCollection.GetValues(postDataKey);\r
- if (!currentValue.Equals(postedValue)){\r
- Value = postedValue[0];\r
+ string[] postedValue = postCollection.GetValues (postDataKey);\r
+ if (!currentValue.Equals (postedValue)){\r
+ Value = postedValue [0];\r
return true;\r
}\r
return false;\r
}\r
\r
- public void RaisePostDataChangedEvent(){\r
- OnServerChange(EventArgs.Empty);\r
+ void IPostBackDataHandler.RaisePostDataChangedEvent ()\r
+ {\r
+ OnServerChange (EventArgs.Empty);\r
}\r
\r
public event EventHandler ServerChange{\r
\r
namespace System.Web.UI.HtmlControls{\r
\r
+ [DefaultEvent("ServerChange")]\r
public class HtmlSelect : HtmlContainerControl, IPostBackDataHandler{\r
\r
\r
}\r
}\r
\r
- public bool LoadPostData(string postDataKey, NameValueCollection postCollection){\r
+ bool IPostBackDataHandler.LoadPostData (string postDataKey,\r
+ NameValueCollection postCollection)\r
+ {\r
//get the posted selectedIndices[]\r
string[] postedValueColl = postCollection.GetValues(postDataKey);\r
bool valid = false;\r
return valid;\r
}\r
\r
- public void RaisePostDataChangedEvent(){\r
- OnServerChange(EventArgs.Empty);\r
+ void IPostBackDataHandler.RaisePostDataChangedEvent ()\r
+ {\r
+ OnServerChange (EventArgs.Empty);\r
}\r
\r
//starts tracking changes to the viewstate\r
- internal virtual new void TrackViewState(){\r
+ protected override void TrackViewState(){\r
TrackViewState();\r
Items.TrackViewState();\r
}\r
\r
namespace System.Web.UI.HtmlControls{\r
\r
+ [ParseChildren(true, "Rows")]\r
public class HtmlTable : HtmlContainerControl {\r
private HtmlTableRowCollection _rows;\r
\r
using System.Globalization;\r
\r
namespace System.Web.UI.HtmlControls{\r
+ [ConstructorNeedsTag]\r
public class HtmlTableCell : HtmlContainerControl {\r
public HtmlTableCell(): base("td"){}\r
\r
using System.Web.UI;\r
\r
namespace System.Web.UI.HtmlControls{\r
+ [ParseChildren(true, "Cells")]\r
public class HtmlTableRow : HtmlContainerControl {\r
private HtmlTableCellCollection _cells;\r
public HtmlTableRow():base("tr"){}\r
\r
namespace System.Web.UI.HtmlControls{\r
\r
+ [DefaultEvent("ServerChange")]\r
public class HtmlTextArea : HtmlContainerControl, IPostBackDataHandler{\r
\r
private static readonly object EventServerChange;\r
}\r
}\r
\r
- public bool LoadPostData(string postDataKey, NameValueCollection postCollection){\r
+ bool IPostBackDataHandler.LoadPostData (string postDataKey,\r
+ NameValueCollection postCollection)\r
+ {\r
string currentValue = Value;\r
string postedValue = postCollection[postDataKey];\r
if (!currentValue.Equals(postedValue) && currentValue != null){\r
base.RenderAttributes(writer);\r
}\r
\r
- public void RaisePostDataChangedEvent(){\r
- OnServerChange(EventArgs.Empty);\r
+ void IPostBackDataHandler.RaisePostDataChangedEvent ()\r
+ {\r
+ OnServerChange (EventArgs.Empty);\r
}\r
\r
protected override void OnPreRender(EventArgs e){\r
+2002-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * System.Web.UI/LiteralControl.cs:
+ Fixes based on class status page:
+
+ - Add attributes (DefaultEvent, ParseChildren).
+ - Fix declarations.
+ - Explicitly implement some interfaces (IPostBackDataHandler
+ and IPostBackEventHandler).
+ - Implemented some missing methods.
+
2002-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Control.cs: reimplemented FindControls.
{\r
writer.Write(_text);\r
}\r
+\r
+ protected override ControlCollection CreateControlCollection ()\r
+ {\r
+ return new EmptyControlCollection (this);\r
+ }\r
}\r
}\r
+2002-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * System.Web/HttpResponse.cs:
+
+ Fixes based on class status page:
+
+ - Add attributes (DefaultEvent, ParseChildren).
+ - Fix declarations.
+ - Explicitly implement some interfaces (IPostBackDataHandler
+ and IPostBackEventHandler).
+ - Implemented some missing methods.
+
2002-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* HttpContext.cs:
}\r
\r
[MonoTODO("Set expiresabsolute in the cache policy")]\r
- public int ExpiresAbsolute {\r
+ public DateTime ExpiresAbsolute {\r
get {\r
throw new NotImplementedException();\r
}\r