* HtmlAnchor.cs:
authorIgor Zelmanovich <igorz@mono-cvs.ximian.com>
Sun, 17 Sep 2006 08:50:05 +0000 (08:50 -0000)
committerIgor Zelmanovich <igorz@mono-cvs.ximian.com>
Sun, 17 Sep 2006 08:50:05 +0000 (08:50 -0000)
implemented CausesValidation and ValidationGroup properties

svn path=/trunk/mcs/; revision=65523

mcs/class/System.Web/System.Web.UI.HtmlControls/ChangeLog
mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlAnchor.cs
mcs/class/System.Web/Test/System.Web.UI.HtmlControls/ChangeLog
mcs/class/System.Web/Test/System.Web.UI.HtmlControls/HtmlAnchorTest.cs

index 0a62c09c5dde5ffb8a00936685bf42a9b0c9b157..ece6149af051be892f0c77426e79a5f4fd09d7f7 100644 (file)
-2006-09-10  Vladimir Krasnov  <vladimirk@mainsoft.com>
-
-       * HtmlInputFile.cs: fixed Value property
-
-2006-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlTextArea.cs: encode the value in 1.x too. Patch by Dean Brettle.
-
-2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
-
-       * HtmlTable.cs:
-       * HtmlTableRow.cs: fixed ParseChildren attribute to be compliant
-       to .net
-
-2006-07-12 Andrew Skiba <andrews@mainsoft.com>
-
-       * HtmlInputControl.cs: remove obsolete #if NET_2_0
-
-2006-06-06 Juraj Skripsky <js@hotfeet.ch>
-
-       * HtmlForm.cs (RenderAttributes): Sync with changes to HttpRequest.
-       Fixes bug #78591.
-
-2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlTextArea.cs: Value is HtmlEncoded/Decoded in 2.0. Fixes
-       bug #78074.
-
-2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlInputRadioButton.cs: Value returns the ID only when there's no
-       "value" set. Fixes bug #78101.
-
-2006-03-19  Vladimir Krasnov  <vladimirk@mainsoft.com>
-
-       * HtmlAnchor.cs: fixed RenderAttributes, if target attribute is empty 
-       it shouldn't be rendered
-       * HtmlForm.cs: fixed Method, default method "post" should be added if 
-       its value null or empty string
-       * HtmlInputImage.cs: fixed SetAtt, it removes attributes if it has null 
-       value, the fix is to remove attributes with empty string value too
-
-2006-02-23  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlButton.cs: fix corcompare output.
-
-       * HtmlInputButton.cs: same.
-
-       * HtmlInputImage.cs: same.
-
-       * HtmlInputReset.cs: same.
-
-2006-01-22  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputButton.cs:
-       s/GetPostBackClientEvent/GetPostBackEventReference.
-
-2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlTableRow.cs: Cells is virtual in latest 1.1.
-
-2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlTableRow.cs: fixed the same problem in bug #76815 but this time
-       for cells.
-       * HtmlTable.cs: moved WriteLine around.
-
-2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlForm.cs: more class-status fixes.
-
-2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlTextArea.cs: 'Name' is the UniqueID. Fixes bug #76802.
-
-2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlTable.cs: use the base class RenderChildren, as '_rows'
-       might not be the actual collection being used. Fixes bug #76815.
-
-2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlInputFile.cs: if no one else set the encoding type for the
-       containing form and there's a HtmlInputFile, set Enctype to
-       'multipart/form-data'. Fixes bug #76837.
-
-2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlInputButton.cs: render the onclick attribute only when the
-       button is a 'submit' and no validators or when the button is a
-       'button' and there's a registered ServerClick event. Fixes bug #76781.
-
-2005-09-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlForm.cs: register the form and require viewstate hidden field to
-       be rendered in Render() even if OnInit is not called.
-
-2005-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlHead.cs: fix the 2.0 build.
-
-2005-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlForm.cs: when transfering from one page to another and using
-       cookieless session, we were doing pretty bad. Now, if the current path
-       and the original are the same, we just use the filename. Otherwise
-       we make the action location be relative to the original URL.
-
-2005-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlInputButton.cs: render the onclick for doing a postback even when
-       there are no validators.
-
-2005-09-19  Sebastien Pouliot  <sebastien@ximian.com> 
-
-       * HtmlInputPassword.cs: Removed ctor(string) as it's not in 2.0 RC.
-       
-2005-09-19  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlAnchor.cs: Added [SupportsEventValidation] on class and 
-       [UrlProperty] on HRef property for 2.0.
-       * HtmlButton.cs: Added [SupportsEventValidation] for 2.0.
-       * HtmlHead.cs: Remove IPageHeader interface.
-       * HtmlImage.cs: Added [UrlProperty] on Src property for 2.0.
-       * HtmlInputButton.cs: Added [SupportsEventValidation] for 2.0.
-       * HtmlInputCheckBox.cs: Added [SupportsEventValidation] for 2.0.
-       * HtmlInputHidden.cs: Added [SupportsEventValidation] for 2.0.
-       * HtmlInputImage.cs: Added [SupportsEventValidation] on class and 
-       [UrlProperty] on Src property for 2.0.
-       * HtmlInputPassword.cs: Added [SupportsEventValidation].
-       * HtmlInputRadioButton.cs: Added [SupportsEventValidation] for 2.0.
-       * HtmlInputReset.cs: Added [SupportsEventValidation].
-       * HtmlInputSubmit.cs: Added [SupportsEventValidation].
-       * HtmlInputText.cs: Added [SupportsEventValidation] on class and 
-       re-enabled RenderAttribute for 2.0.
-       * HtmlLink.cs: Added [UrlProperty] on HRef property for 2.0.
-       * HtmlSelect.cs: Added [SupportsEventValidation] for 2.0.
-       * HtmlTextArea.cs: Added [SupportsEventValidation] for 2.0.
-
-2005-09-18  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlButton.cs (RenderAttribute): make sure to use WriteAttribute
-       instead of AddAttribute when dealing with "onclick."
-
-2005-09-14  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlHead.cs: Fixed parameter orders for CreateStyleRule.
-
-2005-09-11  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputFile.cs (set_Value): add a message to the
-       NotSupportedException.
-
-       * HtmlInputControl.cs (RenderAttributes): add Page != null to the
-       checks before we register our control with the
-       __enabledControlArray JS array.
-
-2005-09-09  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputButton.cs (CausesValidation): this is stored in
-       Attributes, not ViewState.
-       (ValidationGroup): same.
-       (RenderAttributes): remove CausesValidation from the list of
-       Attributes before calling base.RenderAttributes.  Don't, however,
-       remove ValidationGroup, to replicate an MS bug.
-
-2005-09-07  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlForm.cs (DefaultFocus): not stored in Attributes either.
-       (Name): not sure about this property.. the getter apparently just
-       returns UniqueID, and the setter does nothing that I can figure
-       out.
-       (RenderAttributes): don't bother to remove "name", since it's not
-       in the attributes anyway.
-
-2005-09-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlInputControl.cs: use the Name property instead of the ClientID.
-       The 'name' attribute rendered contains colons if inside a
-       NamingContainer.
-
-2005-09-07  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputCheckBox.cs (Checked): uncomment the
-       MinimizableAttributeTypeConverter attribute.
-
-       * HtmlControl.cs (Disabled): uncomment the
-       MinimizableAttributeTypeConverter attribute.
-
-       * HtmlForm.cs (SubmitDisabledControls): remove the MonoTODO.
-
-       * HtmlTableCell.cs (NoWrap): uncomment the
-       MinimizableAttributeTypeConverter attribute.
-
-       * HtmlLink.cs (Href): remove the MonoTODO.
-
-       * HtmlMeta.cs (Name): remove the MonoTODO.
-       (Scheme): same.
-       (Render): add (pretty bogus, really..) implementation.  not sure
-       why we need this one.
-
-2005-09-06  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputControl.cs (RenderAttributes): Check Page.Form for
-       null.
-
-2005-09-06  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputControl.cs (RenderAttributes): use ClientID instead of
-       ID.
-
-2005-09-06  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlHead.cs (AddParsedSubObject): nuke, not in corcompare.
-       (AddedControl): move the HtmlTitle logic here.
-       (RemovedControl): clear out the title if that was the control that
-       was removed.
-
-       * HtmlLink.cs: new implementation.
-
-       * HtmlMeta.cs: new implementation.
-
-2005-09-06  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputControl.cs (RenderAttributes): add ourselves to the
-       __enabledControlArray JS array if we're currently enabled and the
-       form is set to SubmitDisabledControls.
-
-       * HtmlForm.cs (OnInit): call Page.RegisterForm here.
-       (DetermineRenderUplevel): split this out of OnPreRender and make
-       it internal so HtmlInputControl can call it.
-       (OnPreRender): add handling for SubmitDisabledControls.
-
-2005-09-05  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlForm.cs (DefaultButton): this isn't stored as an Attribute,
-       or in the ViewState.  where then?
-       (DefaultFocus): this one is stored in the ViewState, not as an
-       Attribute.
-       (SubmitDisabledControls): implement just as a boolean flag, not in
-       the viewstate or attributes.
-       (RenderAttributes): defaultfocus and defaultbutton are no longer
-       in Attributes.
-
-2005-09-04  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputButton: Fix the 2.0/1.0 postback stuff the right way.
-       
-       * HtmlInputCheckBox: Fix the 2.0/1.0 postback stuff the right way.
-       
-       * HtmlInputFile.cs: Fix the 2.0/1.0 postback stuff the right way.
-
-       * HtmlInputHidden.cs: Fix the 2.0/1.0 postback stuff the right
-       way, and in OnPreRender, call Page.RegisterRequiresPostback.
-
-       * HtmlInputImage.cs: Fix the 2.0/1.0 postback stuff the right way,
-       and in OnPreRender, call Page.RegisterRequiresPostback.
-
-       * HtmlInputRadioButton.cs (OnPreRender): call
-       Page.RegisterRequiresPostback.
-       
-       * HtmlInputText.cs: Fix the 2.0/1.0 postback stuff the right way.
-       Also, in OnPreRender, call Page.RegisterRequiresPostback.
-
-       * HtmlTextArea.cs (OnPreRender): call
-       Page.RegisterRequiresPostback.
-
-2005-09-02  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlSelect.cs: implement 2.0 DataSourceID data binding.
-
-2005-09-02  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputReset.cs (ValidationGroup): remove the MonoTODO.
-
-       * htmlinputimage.cs: implement the 2.0 versions of loadpostdata,
-       raisepostdatachangedevent, and raisepostbackevent.
-       (validationgroup): implement.
-
-       * htmlinputcheckbox.cs: implement the 2.0 versions of loadpostdata
-       and raisepostdatachangedevent.
-
-       * HtmlInputHidden.cs: implement the 2.0 versions of LoadPostData
-       and RaisePostDataChangedEvent.
-
-       * HtmlInputButton.cs (RaisePostBackEventInternal): split out the
-       body of both RaisePostBackEvent impl's here, and fix it up so we
-       use the property Page.Validate call in 2.0.
-       (RaisePostBackEvent): call RaisePostBackEventInternal.
-       (IPostBackEventHandler.RaisePostBackEvent): same.
-
-       * HtmlImage.cs (Align): the test case shows that we don't need to
-       validate input.
-
-2005-09-01  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlTableCell.cs, HtmlTableRowCollection.cs, HtmlInputFile.cs,
-       HtmlHead.cs, HtmlInputReset.cs, HtmlForm.cs, HtmlInputText.cs,
-       HtmlHeadBuilder.cs, HtmlInputRadioButton.cs, HtmlAnchor.cs,
-       HtmlButton.cs, HtmlTextArea.cs, HtmlGenericControl.cs, 
-       HtmlTableRow.cs, HtmlSelect.cs, HtmlControl.cs, HtmlImage.cs,
-       HtmlSelectBuilder.cs, HtmlTable.cs, HtmlInputButton.cs,
-       HtmlInputImage.cs, HtmlTableCellCollection.cs, HtmlInputCheckBox.cs,
-       HtmlInputHidden.cs, HtmlTitle.cs, HtmlInputPassword.cs, 
-       HtmlContainerControl.cs, HtmlInputSubmit.cs: Add missing security
-       attributes AspNetHostingPermission for Minimal level on all classes
-       (LinkDemand) and for non-sealed classes (InheritanceDemand).
-
-2005-08-29  Chris Toshok  <toshok@ximian.com>
-
-       * System.Web.UI.HtmlControls/HtmlTableCell.cs,
-       System.Web.UI.HtmlControls/HtmlInputFile.cs,
-       System.Web.UI.HtmlControls/HtmlForm.cs,
-       System.Web.UI.HtmlControls/HtmlInputText.cs,
-       System.Web.UI.HtmlControls/HtmlInputRadioButton.cs,
-       System.Web.UI.HtmlControls/HtmlAnchor.cs,
-       System.Web.UI.HtmlControls/HtmlButton.cs,
-       System.Web.UI.HtmlControls/HtmlTextArea.cs,
-       System.Web.UI.HtmlControls/HtmlGenericControl.cs,
-       System.Web.UI.HtmlControls/HtmlSelect.cs,
-       System.Web.UI.HtmlControls/HtmlTableRow.cs,
-       System.Web.UI.HtmlControls/HtmlControl.cs,
-       System.Web.UI.HtmlControls/HtmlImage.cs,
-       System.Web.UI.HtmlControls/HtmlTable.cs,
-       System.Web.UI.HtmlControls/HtmlInputButton.cs,
-       System.Web.UI.HtmlControls/HtmlInputControl.cs,
-       System.Web.UI.HtmlControls/HtmlInputImage.cs,
-       System.Web.UI.HtmlControls/HtmlInputCheckBox.cs,
-       System.Web.UI.HtmlControls/HtmlInputHidden.cs,
-       System.Web.UI/Control.cs: Add WebSysDescription/WebCategory
-       attributes.
-
-2005-08-29  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputSubmit.cs: new implementation.
-       
-       * HtmlInputReset.cs (ValidationGroup): implement
-
-       * HtmlInputButton.cs (ValidationGroup): implement.
-
-2005-08-29  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlButton.cs: Fix some 2.0 Page/ClientScript obsolete warnings.
-
-       * HtmlForm.cs: same.
-
-2005-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlAnchor.cs: no need for the resolvedHRef field, as it might be set
-       but not used.  Call ResolveUrl when rendering the attributes instead.
-
-2005-08-28  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlHeadBuilder.cs: this is public.
-
-       * HtmlSelectBuilder.cs: in 2.0 this is public.
-
-       * HtmlInputButton.cs: fix boilerplate.
-
-       * HtmlInputImage.cs (RaisePostBackEvent): add missing argument.
-       (IPostBackEventHandler.RaisePostBackEvent): in 2.0, call
-       Page.Validation(ValidationGroup).
-
-2005-08-28  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputReset.cs: mostly complete implementation.
-
-2005-08-28  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputPassword.cs: doh, make this NET_2_0 only.
-
-2005-08-28  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputPassword.cs: implement.
-
-2005-08-28  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlImage.cs: corcompare fixes.
-
-       * HtmlInputCheckBox.cs: same.
-
-2005-08-27  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlControl.cs (GetAttribute, SetAttribute): implement.
-
-2005-08-27  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlForm.cs (DefaultButton, DefaultFocus): implement properties.
-       (OnPreRender): figure out (hackishly) if we're uplevel rendering.
-       If we have a default button/focus control set, register webform.js
-       as a client script block, and emit some JS to focus the control.
-       (RenderAttributes): verify that the DefaultButton attribute points
-       to a valid IButtonControl implementing control.  Also remove the
-       defaultfocus/defaultbutton attributes before calling
-       base.RenderAttributes.
-
-2005-08-27  Kornél Pál  <kornelpal@hotmail.com>
-
-       * HtmlTableCell.cs: Fixed to use Consts.
-
-2005-08-26  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlButton.cs (ValidationGroup): implement.
-       (RaisePostBackEvent): gross #ifdef-iry to make sure we only have
-       one body of the actual RaisePostBackEvent code.  Also, call
-       Page.Validate(ValidationGroup) in the 2.0 case.
-
-2005-08-25  Miguel de Icaza  <miguel@novell.com>
-
-       * HtmlHead.cs: Implement constructor, pass the tag.
-
-2005-08-25  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlHead.cs: Fixed base class (to HtmlGenericControl).
-
-2005-08-25  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlForm.cs (CreateControlCollection, OnPreRender,
-       RenderControl): implement naively, just calling base.Method.
-
-2005-08-25  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlForm.cs (RenderAttributes): don't strip off the stuff after
-       the last '/' when rendering the action.  Fixes comments in
-       nGallery.
-
-2005-08-24  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlInputButton.cs, HtmlInputFile.cs, HtmlHead.cs,
-       HtmlInputImage.cs, HtmlForm.cs, HtmlInputCheckBox.cs,
-       HtmlInputHidden.cs, HtmlButton.cs, HtmlSelect.cs, HtmlControl.cs:
-       Add MonoTODO's for all NotImplementedException's.
-
-2005-08-18  Dick Porter  <dick@ximian.com>
-
-       * HtmlTable.cs, HtmlInputButton.cs, HtmlInputFile.cs, HtmlHead.cs,
-       HtmlInputImage.cs, HtmlForm.cs, HtmlInputText.cs,
-       HtmlInputCheckBox.cs, HtmlAnchor.cs, HtmlInputRadioButton.cs,
-       HtmlButton.cs, HtmlInputHidden.cs, HtmlTextArea.cs,
-       HtmlTableRow.cs, HtmlSelect.cs, HtmlControl.cs, HtmlTitle.cs,
-       HtmlContainerControl.cs: 2.0 API fixes and stubs and attribute fixes
-
-2005-08-15  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlInputRadioButton.cs, HtmlInputText.cs, HtmlTextArea.cs: Renamed 
-       Load method (bad choice) to DefaultLoadPostData.
-
-2005-08-15  Sebastien Pouliot  <sebastien@ximian.com> 
-       * HtmlAnchor.cs: Fixed protected RaisePostBackEvent in 2.0.
-       * HtmlInputRadioButton.cs: Fixed Value property and LoadPostData 
-       method. Fixed support for protected LoadPostData and 
-       RaisePostDataChangedEvent in 2.0 (recursion).
-       * HtmlInputText.cs: Fixed LoadPostData. Fixed support for protected
-       LoadPostData and RaisePostDataChangedEvent in 2.0 (recursion).
-       * HtmlTextArea.cs: Fixed LoadPostData. Fixed support for protected
-       LoadPostData and RaisePostDataChangedEvent in 2.0 (recursion).
-
-2005-08-15  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlTableCell.cs: Added "string" [TypeConverter] attribute to NoWrap 
-       for 2.0 profile. The class seems to be internal and not (yet?) 
-       implemented.
-
-2005-08-13  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlAnchor.cs: Add Localizable attribute to 2.0 profile.
-       * HtmlEmptyTagControlBuilder.cs: New. ControlBuilder required for
-       (at least) HtmlInputControl in 2.0 profile.
-       * HtmlInputControl.cs: Use a new ControlBuilder class for 2.0 profile.
-       * HtmlInputText.cs: Fix DefaultValue attribute for 2.0 profile.
-
-2005-08-09  Dick Porter  <dick@ximian.com>
-
-       * HtmlSelect.cs: Clear databindings when adding a new one; cope
-       with assorted combinations of empty text and value fields; write
-       <option> tags manually to match ms HTML output.  All fix nunit
-       tests.
-
-2005-08-08  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlInputControl.cs: Remove code to handle password (wrong place) 
-       and fixed type handling for 2.0.
-       * HtmlInputText.cs: Added code to remove (only in 1.x) the value when
-       the type == password. Tests indicates that the value is present for 
-       2.0.
-
-2005-08-05  Dick Porter  <dick@ximian.com>
-
-       * HtmlSelect.cs: Fix databinding when one or other of Name and
-       Value aren't supplied (thanks to Peter for the patch); Make
-       <option> indenting match ms output.
-
-2005-07-30  Ben Maurer  <bmaurer@ximian.com>
-
-       * HtmlForm.cs: Make sure we actually put the "?" in the url
-
-2005-07-29  Dick Porter  <dick@ximian.com>
-
-       * HtmlForm.cs: Simplify the rendering code by using QueryStringRaw
-       instead of building the query string by hand
-
-2005-07-27  Dick Porter  <dick@ximian.com>
-
-       * HtmlInputCheckBox.cs: New implementation
-
-2005-07-26  Peter Dennis Bartok  <pbartok@novell.com>
-
-       * HtmlSelect.cs: Added missing attributes
-
-2005-07-26  Dick Porter  <dick@ximian.com>
-
-       * HtmlSelect.cs: New implementation
-
-2005-07-26  Miguel de Icaza  <miguel@novell.com>
-
-       * HtmlForm.cs: It is possible to have keys with no values in the
-       query string, do not try to process those on the foreach loop.
-       
-       The question is: what should happen if I only get the key?
-
-       Example: file_with_a_form.aspx?a
-
-2005-07-25  Peter Dennis Bartok  <pbartok@novell.com>
-
-       * HtmlForml.cs: Implemented UniqueID (new in sp1)
-       * HtmlButton.cs, HtmlInputButton.cs, HtmlInputImage.cs: Attribute fixes
-
-2005-07-24  Dick Porter  <dick@ximian.com>
-
-       * HtmlForm.cs: Add the trailing query string to the form action;
-       fixes bug shown in Test/standalone/htmlform/qs_postback.aspx
-
-2005-07-22  Dick Porter  <dick@ximian.com>
-
-       * HtmlInputFile.cs: Add assembly attributes
-
-2005-07-21  Dick Porter  <dick@ximian.com>
-
-       * HtmlImage.cs: The src attribute needs to be a relative URL;
-       close the HTML element when rendering attributes, to match the MS
-       impl.
-
-       * HtmlForm.cs: Added assembly attributes; don't render ID twice;
-       don't render enctype and target if they are empty strings;
-       implement a Render overload to keep corcompare quiet.
-
-2005-07-20  Chris Toshok  <toshok@ximian.com>
-
-       * HtmlForm.cs (RenderAttributes): if there are submit statements,
-       we need to render those.
-
-       * HtmlInputImage.cs: same.
-
-       * HtmlInputButton.cs: hook up the client validation stuff.
-
-       * HtmlButton.cs: same, except a lot more complicated due to
-       postback handling.
-
-2005-07-19  Dick Porter  <dick@ximian.com>
-
-       * HtmlImage.cs: Added attributes; use Int32.Parse instead of
-       Convert.ToInt32
-
-2005-07-18  Sebastien Pouliot  <sebastien@ximian.com> 
-       * HtmlInputControl.cs: Fix Type when using ctor(null). Now use 
-       ControlID for Name (and not ID). Added ControlBuilder attribute.
-       * HtmlTable.cs: Simplify check when adding controls.
-       * HtmlTableRow.cs: Simplify check when adding controls.
-
-2005-07-18  Jackson Harper  <jackson@ximian.com>
-
-       * HtmlInputHidden.cs: Use Events Add/Remove. Add DefaultEvent
-       attribute.
-
-2005-07-15  Jackson Harper  <jackson@ximian.com>
-
-       * HtmlInputImage.cs: Use Events Add/Remove. Remove uneeded
-       constant. Update fetching from viewstate code to use new
-       convenience method.
-
-2005-07-15  Jackson Harper  <jackson@ximian.com>
-
-       * HtmlInputButton.cs: Add DefaultEventAttribute.
-
-2005-07-15  Sebastien Pouliot  <sebastien@ximian.com>
-       * HtmlInputControl.cs: Removed internal property (no more required to 
-       compile).
-       * HtmlInputRadioButton.cs: Optimized events.
-       * HtmlInputText.cs: Optimized events.
-       * HtmlTable.cs: Added CultureInfo.InvariantCulture when parsing 
-       strings to integers.
-       * HtmlTableCell.cs: Added CultureInfo.InvariantCulture when parsing 
-       strings to integers.
-       * HtmlTextArea.cs: Optimized events.
-
-2005-07-15  Sebastien Pouliot  <sebastien@ximian.com> 
-
-       * HtmlAnchor.cs: Added URL resolution (doesn't get me the expected 
-       result) and fixed compatibility for a weird behaviour of the HRef 
-       attribute handling. Optimized events.
-
-2005-07-14  Jackson Harper  <jackson@ximian.com>
-
-       * HtmlInputButton.cs: Use Events Add/Remove. Remove Causesvalidation
-       string constant. Use new method for accessing ViewState
-       data. Don't remove value from the view state if it is the default.
-
-2005-07-14  Jackson Harper  <jackson@ximian.com>
-
-       * HtmlButton.cs: Use Events Add/Remove. Remove Causesvalidation
-       string constant. Use new method for accessing ViewState
-       data. Don't remove value from the view state if it is the default.
-       
-2005-07-14  Dick Porter  <dick@ximian.com>
-
-       * HtmlInputFile.cs: New implementation
-
-2005-07-14  Jackson Harper  <jackson@ximian.com>
-
-       * HtmlInputControl.cs: Use ClientID for input controls name.
-
-2005-07-14  Dick Porter  <dick@ximian.com>
-
-       * HtmlForm.cs: New Implementation
-
-2005-07-13  Sebastien Pouliot  <sebastien@ximian.com> 
-
-       * HtmlTable.cs: Added missing attributes.
-       * HtmlTableCell.cs: Added missing attributes except for ControlBuilder
-       as the builder's type isn't public.
-       * HtmlInputControl.cs: Added missing attributes.
-       * HtmlInputText.cs: Added missing attributes.
-       * HtmlInputRadioButton.cs: Added missing attributes.
-       * HtmlAnchor.cs: Added missing attributes.
-       * HtmlTextArea.cs: Added missing attributes.
-       * HtmlTableRow.cs: Added missing attributes.
-
-2005-07-12  Sebastien Pouliot  <sebastien@ximian.com> 
-
-       * HtmlAnchor.cs: Added DefaultValue attributes.
-       * HtmlInputControl.cs: Added DefaultValue attributes.
-       * HtmlInputRadioButton.cs: Added DefaultValue attributes.
-       * HtmlInputText.cs: Added DefaultValue attributes. Added method 
-       RenderAttributes in 1.1 profile.
-       * HtmlTable.cs: Fix DefaultValue to "".
-       * HtmlTextArea.cs: Added DefaultValue attributes.
-
-2005-07-12  Sebastien Pouliot  <sebastien@ximian.com> 
-
-       * HtmlTableCell.cs: Added DefaultValue attributes.
-       * HtmlTable.cs: Added DefaultValue and ParseChildren attributes.
-       * HtmlTableRowCollection.cs: Reworked collection to share data with
-       HtmlTable.Controls.
-       * HtmlTableCellCollection.cs: Reworked collection to share data with
-       HtmlTableRow.Controls.
-       * HtmlTableRow.cs: Added DefaultValue and ParseChildren attributes.
-
-2005-07-09  Sebastien Pouliot  <sebastien@ximian.com> 
-
-       * HtmlTableRowCollection.cs: Fixed property name to IsReadOnly.
-
-2005-07-08  Sebastien Pouliot  <sebastien@ximian.com> 
-       * HtmlTextArea.cs: Use CultureInfo.InvariantCulture in ToString ().
-
-2005-07-08  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlContainerControl.cs: Fixed removal of attribute/viewstate for
-       "innerhtml".
-       * HtmlTextArea.cs: New implementation.
-
-2005-07-07  Jackson Harper  <jackson@ximian.com>
-
-       * HtmlInputImage.cs: New implementation.
-
-2005-07-07  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlAnchor.cs: protected RaisePostBackEvent is in 2.0 only.
-       * HtmlInputControl.cs: New implementation.
-       * HtmlInputRadioButton.cs: New implementation.
-       * HtmlInputText.cs: New implementation.
-
-2005-07-07  Jackson Harper  <jackson@ximian.com>
-
-       * HtmlInputHidden.cs: New implementation.
-
-2005-07-07  Jackson Harper  <jackson@ximian.com>
-
-       * HtmlAnchor.cs: Call base OnPreRender from override.
-
-2005-07-07  Jackson Harper  <jackson@ximian.com>
-
-       * HtmlInputButton.cs: New implementation.
-
-2005-07-07  Dick Porter  <dick@ximian.com>
-
-       * HtmlImage.cs: New implementation
-
-2005-07-07  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlAnchor.cs: Fixed to remove attributes properly.
-       * HtmlTable.cs: New implementation.
-       * HtmlTableCell.cs: New implementation.
-       * HtmlTableCellCollection.cs: New implementation.
-       * HtmlTableRow.cs: New implementation.
-       * HtmlTableRowCollection.cs: New implementation.
-
-2005-07-06  Jackson Harper  <jackson@ximian.com>
-
-       * HtmlButton.cs: New implementation.
-
-2005-07-06  Sebastien Pouliot  <sebastien@ximian.com>
-
-       * HtmlAnchor.cs: New implementation.
-
-2005-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlTableCell.cs:
-       * HtmlControl.cs: updates for 1.1 SP1.
-
-2005-05-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlInputFile.cs: fixed typo in the setter for MaxLength. Closes bug
-       number 74989.
-
-2005-05-06  Lluis Sanchez Gual <lluis@novell.com>
-
-       * HtmlHead.cs: Fix warning.
-
-2005-04-22  Lluis Sanchez Gual <lluis@novell.com>
-
-       * HtmlForm.cs: Use the new WriteSubmitStatements method from
-       Page.ClientScript.
-
-2005-03-11  Lluis Sanchez Gual <lluis@novell.com>
-
-       * HtmlInputButton.cs, HtmlAnchor.cs, HtmlButton.cs: Don't use
-       Page.GetPostBackClientEvent since it is deprecated in 2.0.
-
-2005-02-25  Lluis Sanchez Gual <lluis@novell.com>
-
-       * HtmlForm.cs: Register the form in the page, so the page knows
-       which is the main form.
-
-2005-02-18  Lluis Sanchez Gual <lluis@novell.com>
-
-       * HtmlHead.cs: Method name fix.
-
-2005-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlForm.cs: submitStatements holds Hashtables.
-
-2004-12-20  Lluis Sanchez Gual <lluis@novell.com>
-
-       * HtmlHead.cs: Implemented.
-       * HtmlHeadBuilder.cs: Implemented.
-       * HtmlTitle.cs: Implemented.
-
-2004-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlForm.cs: MakeRelative() can be null. Thanks to Denis Gervaille.
-
-2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlForm.cs: fixed the Action property when running a different
-       page than the one requested (Transfer). Closes bug #69318.
-
-2004-11-26  Lluis Sanchez Gual <lluis@novell.com>
-
-       * HtmlForm.cs: Add submit statements from the new Page.ClientScript
-       property.
-
-2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlForm.cs: disabled smartnavigation as we have no scripts to support
-       it and failed when the browser was IE.
-
-2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlForm.cs: default value for Enctype is "".
-       * HtmlInputFile.cs: if no one set the encoding type for the HtmlForm,
-       we set it to "multipart/form-data". Fixes bug #58359.
-
-2004-01-15  Alon Gazit <along@mainsoft.com>
-       * HtmlForm.cs: The property name always return the value of the
-       property UniqueID.
-
-2003-12-28  Alon Gazit <along@mainsoft.com>
-       * HtmlSelect.cs: fix typo in LoadPostData().
-
-2003-12-29  Alon Gazit <along@mainsoft.com>
-       * HtmlInputButton.cs: update the implementation of RenderAttributes().
-       Change the if statement that determines if the onclick script is
-       rendered.  
-
-2003-12-28  Alon Gazit <along@mainsoft.com>
-       * HtmlSelect.cs: add parentheses to if statement. 
-       Currently the else statement refers to the inner if statement. 
-
-2003-12-28  Alon Gazit <along@mainsoft.com>
-       * HtmlSelect.cs: fix upper bound of for statement.
-
-2003-12-19  Jackson Harper <jackson@ximian.com>
-
-       * HtmlInputFile.cs: Do not set value when loading post data.
-       
-2003-12-14  Alon Gazit <along@mainsoft.com>
+2006-09-17  Igor Zelmanovich  <igorz@mainsoft.com>\r
+\r
+       * HtmlAnchor.cs: \r
+       implemented CausesValidation and ValidationGroup properties     \r
+\r
+2006-09-10  Vladimir Krasnov  <vladimirk@mainsoft.com>\r
+\r
+       * HtmlInputFile.cs: fixed Value property\r
+\r
+2006-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlTextArea.cs: encode the value in 1.x too. Patch by Dean Brettle.\r
+\r
+2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>\r
+\r
+       * HtmlTable.cs:\r
+       * HtmlTableRow.cs: fixed ParseChildren attribute to be compliant\r
+       to .net\r
+\r
+2006-07-12 Andrew Skiba <andrews@mainsoft.com>\r
+\r
+       * HtmlInputControl.cs: remove obsolete #if NET_2_0\r
+\r
+2006-06-06 Juraj Skripsky <js@hotfeet.ch>\r
+\r
+       * HtmlForm.cs (RenderAttributes): Sync with changes to HttpRequest.\r
+       Fixes bug #78591.\r
+\r
+2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlTextArea.cs: Value is HtmlEncoded/Decoded in 2.0. Fixes\r
+       bug #78074.\r
+\r
+2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlInputRadioButton.cs: Value returns the ID only when there's no\r
+       "value" set. Fixes bug #78101.\r
+\r
+2006-03-19  Vladimir Krasnov  <vladimirk@mainsoft.com>\r
+\r
+       * HtmlAnchor.cs: fixed RenderAttributes, if target attribute is empty \r
+       it shouldn't be rendered\r
+       * HtmlForm.cs: fixed Method, default method "post" should be added if \r
+       its value null or empty string\r
+       * HtmlInputImage.cs: fixed SetAtt, it removes attributes if it has null \r
+       value, the fix is to remove attributes with empty string value too\r
+\r
+2006-02-23  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlButton.cs: fix corcompare output.\r
+\r
+       * HtmlInputButton.cs: same.\r
+\r
+       * HtmlInputImage.cs: same.\r
+\r
+       * HtmlInputReset.cs: same.\r
+\r
+2006-01-22  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputButton.cs:\r
+       s/GetPostBackClientEvent/GetPostBackEventReference.\r
+\r
+2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlTableRow.cs: Cells is virtual in latest 1.1.\r
+\r
+2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlTableRow.cs: fixed the same problem in bug #76815 but this time\r
+       for cells.\r
+       * HtmlTable.cs: moved WriteLine around.\r
+\r
+2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs: more class-status fixes.\r
+\r
+2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlTextArea.cs: 'Name' is the UniqueID. Fixes bug #76802.\r
+\r
+2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlTable.cs: use the base class RenderChildren, as '_rows'\r
+       might not be the actual collection being used. Fixes bug #76815.\r
+\r
+2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlInputFile.cs: if no one else set the encoding type for the\r
+       containing form and there's a HtmlInputFile, set Enctype to\r
+       'multipart/form-data'. Fixes bug #76837.\r
+\r
+2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlInputButton.cs: render the onclick attribute only when the\r
+       button is a 'submit' and no validators or when the button is a\r
+       'button' and there's a registered ServerClick event. Fixes bug #76781.\r
+\r
+2005-09-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs: register the form and require viewstate hidden field to\r
+       be rendered in Render() even if OnInit is not called.\r
+\r
+2005-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlHead.cs: fix the 2.0 build.\r
+\r
+2005-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs: when transfering from one page to another and using\r
+       cookieless session, we were doing pretty bad. Now, if the current path\r
+       and the original are the same, we just use the filename. Otherwise\r
+       we make the action location be relative to the original URL.\r
+\r
+2005-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlInputButton.cs: render the onclick for doing a postback even when\r
+       there are no validators.\r
+\r
+2005-09-19  Sebastien Pouliot  <sebastien@ximian.com> \r
+\r
+       * HtmlInputPassword.cs: Removed ctor(string) as it's not in 2.0 RC.\r
+       \r
+2005-09-19  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlAnchor.cs: Added [SupportsEventValidation] on class and \r
+       [UrlProperty] on HRef property for 2.0.\r
+       * HtmlButton.cs: Added [SupportsEventValidation] for 2.0.\r
+       * HtmlHead.cs: Remove IPageHeader interface.\r
+       * HtmlImage.cs: Added [UrlProperty] on Src property for 2.0.\r
+       * HtmlInputButton.cs: Added [SupportsEventValidation] for 2.0.\r
+       * HtmlInputCheckBox.cs: Added [SupportsEventValidation] for 2.0.\r
+       * HtmlInputHidden.cs: Added [SupportsEventValidation] for 2.0.\r
+       * HtmlInputImage.cs: Added [SupportsEventValidation] on class and \r
+       [UrlProperty] on Src property for 2.0.\r
+       * HtmlInputPassword.cs: Added [SupportsEventValidation].\r
+       * HtmlInputRadioButton.cs: Added [SupportsEventValidation] for 2.0.\r
+       * HtmlInputReset.cs: Added [SupportsEventValidation].\r
+       * HtmlInputSubmit.cs: Added [SupportsEventValidation].\r
+       * HtmlInputText.cs: Added [SupportsEventValidation] on class and \r
+       re-enabled RenderAttribute for 2.0.\r
+       * HtmlLink.cs: Added [UrlProperty] on HRef property for 2.0.\r
+       * HtmlSelect.cs: Added [SupportsEventValidation] for 2.0.\r
+       * HtmlTextArea.cs: Added [SupportsEventValidation] for 2.0.\r
+\r
+2005-09-18  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlButton.cs (RenderAttribute): make sure to use WriteAttribute\r
+       instead of AddAttribute when dealing with "onclick."\r
+\r
+2005-09-14  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlHead.cs: Fixed parameter orders for CreateStyleRule.\r
+\r
+2005-09-11  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputFile.cs (set_Value): add a message to the\r
+       NotSupportedException.\r
+\r
+       * HtmlInputControl.cs (RenderAttributes): add Page != null to the\r
+       checks before we register our control with the\r
+       __enabledControlArray JS array.\r
+\r
+2005-09-09  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputButton.cs (CausesValidation): this is stored in\r
+       Attributes, not ViewState.\r
+       (ValidationGroup): same.\r
+       (RenderAttributes): remove CausesValidation from the list of\r
+       Attributes before calling base.RenderAttributes.  Don't, however,\r
+       remove ValidationGroup, to replicate an MS bug.\r
+\r
+2005-09-07  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlForm.cs (DefaultFocus): not stored in Attributes either.\r
+       (Name): not sure about this property.. the getter apparently just\r
+       returns UniqueID, and the setter does nothing that I can figure\r
+       out.\r
+       (RenderAttributes): don't bother to remove "name", since it's not\r
+       in the attributes anyway.\r
+\r
+2005-09-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlInputControl.cs: use the Name property instead of the ClientID.\r
+       The 'name' attribute rendered contains colons if inside a\r
+       NamingContainer.\r
+\r
+2005-09-07  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputCheckBox.cs (Checked): uncomment the\r
+       MinimizableAttributeTypeConverter attribute.\r
+\r
+       * HtmlControl.cs (Disabled): uncomment the\r
+       MinimizableAttributeTypeConverter attribute.\r
+\r
+       * HtmlForm.cs (SubmitDisabledControls): remove the MonoTODO.\r
+\r
+       * HtmlTableCell.cs (NoWrap): uncomment the\r
+       MinimizableAttributeTypeConverter attribute.\r
+\r
+       * HtmlLink.cs (Href): remove the MonoTODO.\r
+\r
+       * HtmlMeta.cs (Name): remove the MonoTODO.\r
+       (Scheme): same.\r
+       (Render): add (pretty bogus, really..) implementation.  not sure\r
+       why we need this one.\r
+\r
+2005-09-06  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputControl.cs (RenderAttributes): Check Page.Form for\r
+       null.\r
+\r
+2005-09-06  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputControl.cs (RenderAttributes): use ClientID instead of\r
+       ID.\r
+\r
+2005-09-06  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlHead.cs (AddParsedSubObject): nuke, not in corcompare.\r
+       (AddedControl): move the HtmlTitle logic here.\r
+       (RemovedControl): clear out the title if that was the control that\r
+       was removed.\r
+\r
+       * HtmlLink.cs: new implementation.\r
+\r
+       * HtmlMeta.cs: new implementation.\r
+\r
+2005-09-06  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputControl.cs (RenderAttributes): add ourselves to the\r
+       __enabledControlArray JS array if we're currently enabled and the\r
+       form is set to SubmitDisabledControls.\r
+\r
+       * HtmlForm.cs (OnInit): call Page.RegisterForm here.\r
+       (DetermineRenderUplevel): split this out of OnPreRender and make\r
+       it internal so HtmlInputControl can call it.\r
+       (OnPreRender): add handling for SubmitDisabledControls.\r
+\r
+2005-09-05  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlForm.cs (DefaultButton): this isn't stored as an Attribute,\r
+       or in the ViewState.  where then?\r
+       (DefaultFocus): this one is stored in the ViewState, not as an\r
+       Attribute.\r
+       (SubmitDisabledControls): implement just as a boolean flag, not in\r
+       the viewstate or attributes.\r
+       (RenderAttributes): defaultfocus and defaultbutton are no longer\r
+       in Attributes.\r
+\r
+2005-09-04  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputButton: Fix the 2.0/1.0 postback stuff the right way.\r
+       \r
+       * HtmlInputCheckBox: Fix the 2.0/1.0 postback stuff the right way.\r
+       \r
+       * HtmlInputFile.cs: Fix the 2.0/1.0 postback stuff the right way.\r
+\r
+       * HtmlInputHidden.cs: Fix the 2.0/1.0 postback stuff the right\r
+       way, and in OnPreRender, call Page.RegisterRequiresPostback.\r
+\r
+       * HtmlInputImage.cs: Fix the 2.0/1.0 postback stuff the right way,\r
+       and in OnPreRender, call Page.RegisterRequiresPostback.\r
+\r
+       * HtmlInputRadioButton.cs (OnPreRender): call\r
+       Page.RegisterRequiresPostback.\r
+       \r
+       * HtmlInputText.cs: Fix the 2.0/1.0 postback stuff the right way.\r
+       Also, in OnPreRender, call Page.RegisterRequiresPostback.\r
+\r
+       * HtmlTextArea.cs (OnPreRender): call\r
+       Page.RegisterRequiresPostback.\r
+\r
+2005-09-02  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlSelect.cs: implement 2.0 DataSourceID data binding.\r
+\r
+2005-09-02  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputReset.cs (ValidationGroup): remove the MonoTODO.\r
+\r
+       * htmlinputimage.cs: implement the 2.0 versions of loadpostdata,\r
+       raisepostdatachangedevent, and raisepostbackevent.\r
+       (validationgroup): implement.\r
+\r
+       * htmlinputcheckbox.cs: implement the 2.0 versions of loadpostdata\r
+       and raisepostdatachangedevent.\r
+\r
+       * HtmlInputHidden.cs: implement the 2.0 versions of LoadPostData\r
+       and RaisePostDataChangedEvent.\r
+\r
+       * HtmlInputButton.cs (RaisePostBackEventInternal): split out the\r
+       body of both RaisePostBackEvent impl's here, and fix it up so we\r
+       use the property Page.Validate call in 2.0.\r
+       (RaisePostBackEvent): call RaisePostBackEventInternal.\r
+       (IPostBackEventHandler.RaisePostBackEvent): same.\r
+\r
+       * HtmlImage.cs (Align): the test case shows that we don't need to\r
+       validate input.\r
+\r
+2005-09-01  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlTableCell.cs, HtmlTableRowCollection.cs, HtmlInputFile.cs,\r
+       HtmlHead.cs, HtmlInputReset.cs, HtmlForm.cs, HtmlInputText.cs,\r
+       HtmlHeadBuilder.cs, HtmlInputRadioButton.cs, HtmlAnchor.cs,\r
+       HtmlButton.cs, HtmlTextArea.cs, HtmlGenericControl.cs, \r
+       HtmlTableRow.cs, HtmlSelect.cs, HtmlControl.cs, HtmlImage.cs,\r
+       HtmlSelectBuilder.cs, HtmlTable.cs, HtmlInputButton.cs,\r
+       HtmlInputImage.cs, HtmlTableCellCollection.cs, HtmlInputCheckBox.cs,\r
+       HtmlInputHidden.cs, HtmlTitle.cs, HtmlInputPassword.cs, \r
+       HtmlContainerControl.cs, HtmlInputSubmit.cs: Add missing security\r
+       attributes AspNetHostingPermission for Minimal level on all classes\r
+       (LinkDemand) and for non-sealed classes (InheritanceDemand).\r
+\r
+2005-08-29  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * System.Web.UI.HtmlControls/HtmlTableCell.cs,\r
+       System.Web.UI.HtmlControls/HtmlInputFile.cs,\r
+       System.Web.UI.HtmlControls/HtmlForm.cs,\r
+       System.Web.UI.HtmlControls/HtmlInputText.cs,\r
+       System.Web.UI.HtmlControls/HtmlInputRadioButton.cs,\r
+       System.Web.UI.HtmlControls/HtmlAnchor.cs,\r
+       System.Web.UI.HtmlControls/HtmlButton.cs,\r
+       System.Web.UI.HtmlControls/HtmlTextArea.cs,\r
+       System.Web.UI.HtmlControls/HtmlGenericControl.cs,\r
+       System.Web.UI.HtmlControls/HtmlSelect.cs,\r
+       System.Web.UI.HtmlControls/HtmlTableRow.cs,\r
+       System.Web.UI.HtmlControls/HtmlControl.cs,\r
+       System.Web.UI.HtmlControls/HtmlImage.cs,\r
+       System.Web.UI.HtmlControls/HtmlTable.cs,\r
+       System.Web.UI.HtmlControls/HtmlInputButton.cs,\r
+       System.Web.UI.HtmlControls/HtmlInputControl.cs,\r
+       System.Web.UI.HtmlControls/HtmlInputImage.cs,\r
+       System.Web.UI.HtmlControls/HtmlInputCheckBox.cs,\r
+       System.Web.UI.HtmlControls/HtmlInputHidden.cs,\r
+       System.Web.UI/Control.cs: Add WebSysDescription/WebCategory\r
+       attributes.\r
+\r
+2005-08-29  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputSubmit.cs: new implementation.\r
+       \r
+       * HtmlInputReset.cs (ValidationGroup): implement\r
+\r
+       * HtmlInputButton.cs (ValidationGroup): implement.\r
+\r
+2005-08-29  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlButton.cs: Fix some 2.0 Page/ClientScript obsolete warnings.\r
+\r
+       * HtmlForm.cs: same.\r
+\r
+2005-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlAnchor.cs: no need for the resolvedHRef field, as it might be set\r
+       but not used.  Call ResolveUrl when rendering the attributes instead.\r
+\r
+2005-08-28  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlHeadBuilder.cs: this is public.\r
+\r
+       * HtmlSelectBuilder.cs: in 2.0 this is public.\r
+\r
+       * HtmlInputButton.cs: fix boilerplate.\r
+\r
+       * HtmlInputImage.cs (RaisePostBackEvent): add missing argument.\r
+       (IPostBackEventHandler.RaisePostBackEvent): in 2.0, call\r
+       Page.Validation(ValidationGroup).\r
+\r
+2005-08-28  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputReset.cs: mostly complete implementation.\r
+\r
+2005-08-28  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputPassword.cs: doh, make this NET_2_0 only.\r
+\r
+2005-08-28  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputPassword.cs: implement.\r
+\r
+2005-08-28  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlImage.cs: corcompare fixes.\r
+\r
+       * HtmlInputCheckBox.cs: same.\r
+\r
+2005-08-27  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlControl.cs (GetAttribute, SetAttribute): implement.\r
+\r
+2005-08-27  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlForm.cs (DefaultButton, DefaultFocus): implement properties.\r
+       (OnPreRender): figure out (hackishly) if we're uplevel rendering.\r
+       If we have a default button/focus control set, register webform.js\r
+       as a client script block, and emit some JS to focus the control.\r
+       (RenderAttributes): verify that the DefaultButton attribute points\r
+       to a valid IButtonControl implementing control.  Also remove the\r
+       defaultfocus/defaultbutton attributes before calling\r
+       base.RenderAttributes.\r
+\r
+2005-08-27  Kornél Pál  <kornelpal@hotmail.com>\r
+\r
+       * HtmlTableCell.cs: Fixed to use Consts.\r
+\r
+2005-08-26  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlButton.cs (ValidationGroup): implement.\r
+       (RaisePostBackEvent): gross #ifdef-iry to make sure we only have\r
+       one body of the actual RaisePostBackEvent code.  Also, call\r
+       Page.Validate(ValidationGroup) in the 2.0 case.\r
+\r
+2005-08-25  Miguel de Icaza  <miguel@novell.com>\r
+\r
+       * HtmlHead.cs: Implement constructor, pass the tag.\r
+\r
+2005-08-25  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlHead.cs: Fixed base class (to HtmlGenericControl).\r
+\r
+2005-08-25  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlForm.cs (CreateControlCollection, OnPreRender,\r
+       RenderControl): implement naively, just calling base.Method.\r
+\r
+2005-08-25  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlForm.cs (RenderAttributes): don't strip off the stuff after\r
+       the last '/' when rendering the action.  Fixes comments in\r
+       nGallery.\r
+\r
+2005-08-24  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlInputButton.cs, HtmlInputFile.cs, HtmlHead.cs,\r
+       HtmlInputImage.cs, HtmlForm.cs, HtmlInputCheckBox.cs,\r
+       HtmlInputHidden.cs, HtmlButton.cs, HtmlSelect.cs, HtmlControl.cs:\r
+       Add MonoTODO's for all NotImplementedException's.\r
+\r
+2005-08-18  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlTable.cs, HtmlInputButton.cs, HtmlInputFile.cs, HtmlHead.cs,\r
+       HtmlInputImage.cs, HtmlForm.cs, HtmlInputText.cs,\r
+       HtmlInputCheckBox.cs, HtmlAnchor.cs, HtmlInputRadioButton.cs,\r
+       HtmlButton.cs, HtmlInputHidden.cs, HtmlTextArea.cs,\r
+       HtmlTableRow.cs, HtmlSelect.cs, HtmlControl.cs, HtmlTitle.cs,\r
+       HtmlContainerControl.cs: 2.0 API fixes and stubs and attribute fixes\r
+\r
+2005-08-15  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlInputRadioButton.cs, HtmlInputText.cs, HtmlTextArea.cs: Renamed \r
+       Load method (bad choice) to DefaultLoadPostData.\r
+\r
+2005-08-15  Sebastien Pouliot  <sebastien@ximian.com> \r
\r
+       * HtmlAnchor.cs: Fixed protected RaisePostBackEvent in 2.0.\r
+       * HtmlInputRadioButton.cs: Fixed Value property and LoadPostData \r
+       method. Fixed support for protected LoadPostData and \r
+       RaisePostDataChangedEvent in 2.0 (recursion).\r
+       * HtmlInputText.cs: Fixed LoadPostData. Fixed support for protected\r
+       LoadPostData and RaisePostDataChangedEvent in 2.0 (recursion).\r
+       * HtmlTextArea.cs: Fixed LoadPostData. Fixed support for protected\r
+       LoadPostData and RaisePostDataChangedEvent in 2.0 (recursion).\r
+\r
+2005-08-15  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlTableCell.cs: Added "string" [TypeConverter] attribute to NoWrap \r
+       for 2.0 profile. The class seems to be internal and not (yet?) \r
+       implemented.\r
+\r
+2005-08-13  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlAnchor.cs: Add Localizable attribute to 2.0 profile.\r
+       * HtmlEmptyTagControlBuilder.cs: New. ControlBuilder required for\r
+       (at least) HtmlInputControl in 2.0 profile.\r
+       * HtmlInputControl.cs: Use a new ControlBuilder class for 2.0 profile.\r
+       * HtmlInputText.cs: Fix DefaultValue attribute for 2.0 profile.\r
+\r
+2005-08-09  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlSelect.cs: Clear databindings when adding a new one; cope\r
+       with assorted combinations of empty text and value fields; write\r
+       <option> tags manually to match ms HTML output.  All fix nunit\r
+       tests.\r
+\r
+2005-08-08  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlInputControl.cs: Remove code to handle password (wrong place) \r
+       and fixed type handling for 2.0.\r
+       * HtmlInputText.cs: Added code to remove (only in 1.x) the value when\r
+       the type == password. Tests indicates that the value is present for \r
+       2.0.\r
+\r
+2005-08-05  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlSelect.cs: Fix databinding when one or other of Name and\r
+       Value aren't supplied (thanks to Peter for the patch); Make\r
+       <option> indenting match ms output.\r
+\r
+2005-07-30  Ben Maurer  <bmaurer@ximian.com>\r
+\r
+       * HtmlForm.cs: Make sure we actually put the "?" in the url\r
+\r
+2005-07-29  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlForm.cs: Simplify the rendering code by using QueryStringRaw\r
+       instead of building the query string by hand\r
+\r
+2005-07-27  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlInputCheckBox.cs: New implementation\r
+\r
+2005-07-26  Peter Dennis Bartok  <pbartok@novell.com>\r
+\r
+       * HtmlSelect.cs: Added missing attributes\r
+\r
+2005-07-26  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlSelect.cs: New implementation\r
+\r
+2005-07-26  Miguel de Icaza  <miguel@novell.com>\r
+\r
+       * HtmlForm.cs: It is possible to have keys with no values in the\r
+       query string, do not try to process those on the foreach loop.\r
+       \r
+       The question is: what should happen if I only get the key?\r
+\r
+       Example: file_with_a_form.aspx?a\r
+\r
+2005-07-25  Peter Dennis Bartok  <pbartok@novell.com>\r
+\r
+       * HtmlForml.cs: Implemented UniqueID (new in sp1)\r
+       * HtmlButton.cs, HtmlInputButton.cs, HtmlInputImage.cs: Attribute fixes\r
+\r
+2005-07-24  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlForm.cs: Add the trailing query string to the form action;\r
+       fixes bug shown in Test/standalone/htmlform/qs_postback.aspx\r
+\r
+2005-07-22  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlInputFile.cs: Add assembly attributes\r
+\r
+2005-07-21  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlImage.cs: The src attribute needs to be a relative URL;\r
+       close the HTML element when rendering attributes, to match the MS\r
+       impl.\r
+\r
+       * HtmlForm.cs: Added assembly attributes; don't render ID twice;\r
+       don't render enctype and target if they are empty strings;\r
+       implement a Render overload to keep corcompare quiet.\r
+\r
+2005-07-20  Chris Toshok  <toshok@ximian.com>\r
+\r
+       * HtmlForm.cs (RenderAttributes): if there are submit statements,\r
+       we need to render those.\r
+\r
+       * HtmlInputImage.cs: same.\r
+\r
+       * HtmlInputButton.cs: hook up the client validation stuff.\r
+\r
+       * HtmlButton.cs: same, except a lot more complicated due to\r
+       postback handling.\r
+\r
+2005-07-19  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlImage.cs: Added attributes; use Int32.Parse instead of\r
+       Convert.ToInt32\r
+\r
+2005-07-18  Sebastien Pouliot  <sebastien@ximian.com> \r
\r
+       * HtmlInputControl.cs: Fix Type when using ctor(null). Now use \r
+       ControlID for Name (and not ID). Added ControlBuilder attribute.\r
+       * HtmlTable.cs: Simplify check when adding controls.\r
+       * HtmlTableRow.cs: Simplify check when adding controls.\r
+\r
+2005-07-18  Jackson Harper  <jackson@ximian.com>\r
+\r
+       * HtmlInputHidden.cs: Use Events Add/Remove. Add DefaultEvent\r
+       attribute.\r
+\r
+2005-07-15  Jackson Harper  <jackson@ximian.com>\r
+\r
+       * HtmlInputImage.cs: Use Events Add/Remove. Remove uneeded\r
+       constant. Update fetching from viewstate code to use new\r
+       convenience method.\r
+\r
+2005-07-15  Jackson Harper  <jackson@ximian.com>\r
+\r
+       * HtmlInputButton.cs: Add DefaultEventAttribute.\r
+\r
+2005-07-15  Sebastien Pouliot  <sebastien@ximian.com>\r
\r
+       * HtmlInputControl.cs: Removed internal property (no more required to \r
+       compile).\r
+       * HtmlInputRadioButton.cs: Optimized events.\r
+       * HtmlInputText.cs: Optimized events.\r
+       * HtmlTable.cs: Added CultureInfo.InvariantCulture when parsing \r
+       strings to integers.\r
+       * HtmlTableCell.cs: Added CultureInfo.InvariantCulture when parsing \r
+       strings to integers.\r
+       * HtmlTextArea.cs: Optimized events.\r
+\r
+2005-07-15  Sebastien Pouliot  <sebastien@ximian.com> \r
+\r
+       * HtmlAnchor.cs: Added URL resolution (doesn't get me the expected \r
+       result) and fixed compatibility for a weird behaviour of the HRef \r
+       attribute handling. Optimized events.\r
+\r
+2005-07-14  Jackson Harper  <jackson@ximian.com>\r
+\r
+       * HtmlInputButton.cs: Use Events Add/Remove. Remove Causesvalidation\r
+       string constant. Use new method for accessing ViewState\r
+       data. Don't remove value from the view state if it is the default.\r
+\r
+2005-07-14  Jackson Harper  <jackson@ximian.com>\r
+\r
+       * HtmlButton.cs: Use Events Add/Remove. Remove Causesvalidation\r
+       string constant. Use new method for accessing ViewState\r
+       data. Don't remove value from the view state if it is the default.\r
+       \r
+2005-07-14  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlInputFile.cs: New implementation\r
+\r
+2005-07-14  Jackson Harper  <jackson@ximian.com>\r
+\r
+       * HtmlInputControl.cs: Use ClientID for input controls name.\r
+\r
+2005-07-14  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlForm.cs: New Implementation\r
+\r
+2005-07-13  Sebastien Pouliot  <sebastien@ximian.com> \r
+\r
+       * HtmlTable.cs: Added missing attributes.\r
+       * HtmlTableCell.cs: Added missing attributes except for ControlBuilder\r
+       as the builder's type isn't public.\r
+       * HtmlInputControl.cs: Added missing attributes.\r
+       * HtmlInputText.cs: Added missing attributes.\r
+       * HtmlInputRadioButton.cs: Added missing attributes.\r
+       * HtmlAnchor.cs: Added missing attributes.\r
+       * HtmlTextArea.cs: Added missing attributes.\r
+       * HtmlTableRow.cs: Added missing attributes.\r
+\r
+2005-07-12  Sebastien Pouliot  <sebastien@ximian.com> \r
+\r
+       * HtmlAnchor.cs: Added DefaultValue attributes.\r
+       * HtmlInputControl.cs: Added DefaultValue attributes.\r
+       * HtmlInputRadioButton.cs: Added DefaultValue attributes.\r
+       * HtmlInputText.cs: Added DefaultValue attributes. Added method \r
+       RenderAttributes in 1.1 profile.\r
+       * HtmlTable.cs: Fix DefaultValue to "".\r
+       * HtmlTextArea.cs: Added DefaultValue attributes.\r
+\r
+2005-07-12  Sebastien Pouliot  <sebastien@ximian.com> \r
+\r
+       * HtmlTableCell.cs: Added DefaultValue attributes.\r
+       * HtmlTable.cs: Added DefaultValue and ParseChildren attributes.\r
+       * HtmlTableRowCollection.cs: Reworked collection to share data with\r
+       HtmlTable.Controls.\r
+       * HtmlTableCellCollection.cs: Reworked collection to share data with\r
+       HtmlTableRow.Controls.\r
+       * HtmlTableRow.cs: Added DefaultValue and ParseChildren attributes.\r
+\r
+2005-07-09  Sebastien Pouliot  <sebastien@ximian.com> \r
+\r
+       * HtmlTableRowCollection.cs: Fixed property name to IsReadOnly.\r
+\r
+2005-07-08  Sebastien Pouliot  <sebastien@ximian.com> \r
\r
+       * HtmlTextArea.cs: Use CultureInfo.InvariantCulture in ToString ().\r
+\r
+2005-07-08  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlContainerControl.cs: Fixed removal of attribute/viewstate for\r
+       "innerhtml".\r
+       * HtmlTextArea.cs: New implementation.\r
+\r
+2005-07-07  Jackson Harper  <jackson@ximian.com>\r
+\r
+       * HtmlInputImage.cs: New implementation.\r
+\r
+2005-07-07  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlAnchor.cs: protected RaisePostBackEvent is in 2.0 only.\r
+       * HtmlInputControl.cs: New implementation.\r
+       * HtmlInputRadioButton.cs: New implementation.\r
+       * HtmlInputText.cs: New implementation.\r
+\r
+2005-07-07  Jackson Harper  <jackson@ximian.com>\r
+\r
+       * HtmlInputHidden.cs: New implementation.\r
+\r
+2005-07-07  Jackson Harper  <jackson@ximian.com>\r
+\r
+       * HtmlAnchor.cs: Call base OnPreRender from override.\r
+\r
+2005-07-07  Jackson Harper  <jackson@ximian.com>\r
+\r
+       * HtmlInputButton.cs: New implementation.\r
+\r
+2005-07-07  Dick Porter  <dick@ximian.com>\r
+\r
+       * HtmlImage.cs: New implementation\r
+\r
+2005-07-07  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlAnchor.cs: Fixed to remove attributes properly.\r
+       * HtmlTable.cs: New implementation.\r
+       * HtmlTableCell.cs: New implementation.\r
+       * HtmlTableCellCollection.cs: New implementation.\r
+       * HtmlTableRow.cs: New implementation.\r
+       * HtmlTableRowCollection.cs: New implementation.\r
+\r
+2005-07-06  Jackson Harper  <jackson@ximian.com>\r
+\r
+       * HtmlButton.cs: New implementation.\r
+\r
+2005-07-06  Sebastien Pouliot  <sebastien@ximian.com>\r
+\r
+       * HtmlAnchor.cs: New implementation.\r
+\r
+2005-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlTableCell.cs:\r
+       * HtmlControl.cs: updates for 1.1 SP1.\r
+\r
+2005-05-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlInputFile.cs: fixed typo in the setter for MaxLength. Closes bug\r
+       number 74989.\r
+\r
+2005-05-06  Lluis Sanchez Gual <lluis@novell.com>\r
+\r
+       * HtmlHead.cs: Fix warning.\r
+\r
+2005-04-22  Lluis Sanchez Gual <lluis@novell.com>\r
+\r
+       * HtmlForm.cs: Use the new WriteSubmitStatements method from\r
+       Page.ClientScript.\r
+\r
+2005-03-11  Lluis Sanchez Gual <lluis@novell.com>\r
+\r
+       * HtmlInputButton.cs, HtmlAnchor.cs, HtmlButton.cs: Don't use\r
+       Page.GetPostBackClientEvent since it is deprecated in 2.0.\r
+\r
+2005-02-25  Lluis Sanchez Gual <lluis@novell.com>\r
+\r
+       * HtmlForm.cs: Register the form in the page, so the page knows\r
+       which is the main form.\r
+\r
+2005-02-18  Lluis Sanchez Gual <lluis@novell.com>\r
+\r
+       * HtmlHead.cs: Method name fix.\r
+\r
+2005-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs: submitStatements holds Hashtables.\r
+\r
+2004-12-20  Lluis Sanchez Gual <lluis@novell.com>\r
+\r
+       * HtmlHead.cs: Implemented.\r
+       * HtmlHeadBuilder.cs: Implemented.\r
+       * HtmlTitle.cs: Implemented.\r
+\r
+2004-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs: MakeRelative() can be null. Thanks to Denis Gervaille.\r
+\r
+2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs: fixed the Action property when running a different\r
+       page than the one requested (Transfer). Closes bug #69318.\r
+\r
+2004-11-26  Lluis Sanchez Gual <lluis@novell.com>\r
+\r
+       * HtmlForm.cs: Add submit statements from the new Page.ClientScript\r
+       property.\r
+\r
+2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs: disabled smartnavigation as we have no scripts to support\r
+       it and failed when the browser was IE.\r
+\r
+2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs: default value for Enctype is "".\r
+       * HtmlInputFile.cs: if no one set the encoding type for the HtmlForm,\r
+       we set it to "multipart/form-data". Fixes bug #58359.\r
+\r
+2004-01-15  Alon Gazit <along@mainsoft.com>\r
+       * HtmlForm.cs: The property name always return the value of the\r
+       property UniqueID.\r
+\r
+2003-12-28  Alon Gazit <along@mainsoft.com>\r
+       * HtmlSelect.cs: fix typo in LoadPostData().\r
+\r
+2003-12-29  Alon Gazit <along@mainsoft.com>\r
+       * HtmlInputButton.cs: update the implementation of RenderAttributes().\r
+       Change the if statement that determines if the onclick script is\r
+       rendered.  \r
+\r
+2003-12-28  Alon Gazit <along@mainsoft.com>\r
+       * HtmlSelect.cs: add parentheses to if statement. \r
+       Currently the else statement refers to the inner if statement. \r
+\r
+2003-12-28  Alon Gazit <along@mainsoft.com>\r
+       * HtmlSelect.cs: fix upper bound of for statement.\r
+\r
+2003-12-19  Jackson Harper <jackson@ximian.com>\r
+\r
+       * HtmlInputFile.cs: Do not set value when loading post data.\r
+       \r
+2003-12-14  Alon Gazit <along@mainsoft.com>\r
        * HtmlInputButton.cs: The problem was in RenderAttributes().\r
        Before adding the script to the HTML, the number of Validators should \r
-       be checked. fixes bug #52158.
-
-2003-12-07  Alon Gazit <along@mainsoft.com>
-       * HtmlTableCell.cs: fixing a typo in NoWrap property. 
-
-2003-12-04  Jackson Harper <jackson@ximian.com>
-
-       * HtmlInputRadioButton.cs: Lookup name in postadata and compare to
-       value. This is because radio button groups are created by setting
-       the name to the same value with each button, then on postback the
-       value of the name is the id of the selected radio button. 
-       
-2003-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlContainerControl.cs: encode/decode InnerText. Fixes bug #51653.
-
-2003-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlSelect.cs: with the new LosFormatter, we get array types right, so
-       remove the code used to workaround that.
-
-2003-12-01  Jackson Harper <jackson@ximian.com>
-
-       * HtmlControl.cs: Fix disabled property. Patch by Alon Gazit
-       <along@mainsoft.com>.
-       
-2003-11-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlSelect.cs: don't add items without data. Patch by Alon Gazit
-       <along@mainsoft.com>. Fixes bug #51377.
-
-2003-11-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlInputRadioButton.cs: initialize event indexer. Patch by Alon Gazit
-       <along@mainsoft.com>.
-
-2003-10-29 Jackson Harper <jackson@ximian.com>
-
-       * HtmlControl.cs: Make disabled an attribute of the control so it
-       is rendered. This is a slightly modifed version of a patch
-       by Yaron Shkop. Fixes bug #50160.
-       
-2003-10-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlTextArea.cs: fixed infinite recursion.
-
-2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlForm.cs: render the onsubmit attribute.
-
-2003-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlGenericControl.cs: ConstructorNeedsTag defaults to false so we
-       need to pass true here. Fixes bug #47918.
-
-2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
-
-       * HtmlContainerControl.cs: Added attributes
-       * HtmlControl.cs: Added attributes
-       * HtmlInputControl.cs: Fixed public signature
-       * HtmlInputRadioButton.cs: Fixed public signature
-       * HtmlSelect.cs: Added missing attribute
-       * HtmlTable.cs: Added missing attribute
-
-2003-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlSelect.cs: fixed bug #44894.
-
-2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlImage.cs:
-       * HtmlInputControl.cs:
-       * HtmlSelect.cs: added control builder attribute.
-
-       * HtmlSelectBuilder.cs: builder for HtmlSelect.
-
-       * HtmlControlBuilder.cs: common builder for all HtmlControls.
-
-2003-01-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlControl.cs: _tagName is now internal.
-       * HtmlGenericControl.cs: use the field in HtmlControl to keep the tag
-       name.
-
-2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * System.Web.UI.HtmlControls/HtmlForm.cs: render 'action' attribute.
-
-2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlInputButton.cs: fixed bug #35677.
-
-2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlInputControl.cs: fixed bug #35673.
-
-2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlInputText.cs: fixed bug #35670.
-
-2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlSelect.cs: fixed LoadViewstate.
-
-2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlButton.cs: make it do a POST if the button has any ServerClick
-       events.
-
-2002-09-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlAnchor.cs:
-       * HtmlButton.cs:
-       * HtmlContainerControl.cs:
-       * HtmlControl.cs:
-       * HtmlForm.cs:
-       * HtmlGenericControl.cs:
-       * HtmlImage.cs:
-       * HtmlInputButton.cs:
-       * HtmlInputCheckBox.cs:
-       * HtmlInputControl.cs:
-       * HtmlInputFile.cs:
-       * HtmlInputHidden.cs:
-       * HtmlInputImage.cs:
-       * HtmlInputRadioButton.cs:
-       * HtmlInputText.cs:
-       * HtmlSelect.cs:
-       * HtmlTable.cs:
-       * HtmlTableCell.cs:
-       * HtmlTableRow.cs:
-       * HtmlTextArea.cs: added almost all missing attributes.
-
-2002-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlControl.cs: the attributes must use ViewState as its StateBag,
-       if not style values are lost between postbacks.
-
-2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlAnchor.cs:
-       * HtmlButton.cs:
-       * HtmlInputButton.cs:
-       * HtmlInputCheckBox.cs:
-       * HtmlInputHidden.cs:
-       * HtmlInputImage.cs:
-       * HtmlInputText.cs:
-       * HtmlTextArea.cs: Initialize EventHandlerList indexer.
-
-       * HtmlContainerControl.cs: almost rewritten to use a LiteralControl
-       instead of maintaining some flags and strings. Implemented
-       LoadViewState.
-
-       * HtmlControl.cs: fixed constructor and added ViewStateIgnoreCase.
-
-       * HtmlSelect.cs: fixed TrackViewState, SaveViewState, SelectedIndices
-       and Value.
-
-2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlGenericControl.cs: fixed TagName signature and get/set.
-       * HtmlInputImage.cs: added attribute and fixed signature of ServerClick.
-       * HtmlInputText.cs: added attribute.
-
-2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlForm.cs: don't render action attribute.
-
-2002-07-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlContainerControl.cs: 
-       (CreateControlCollection): added. All containers must have a non-empty
-       control collection.
-
-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:
-       (RenderChildren): use OnFormRender and OnFormPostRender.
-
-2002-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlSelect.cs:
-       (RenderAttributes): new -> override and fixes stack overflow.
-       (RenderChildren): only 1 option can be selected at any given time
-       except when Multiple property is true.
-       (Multiple): the attribute value is either "true" or "false", not 
-       "multiple".
-
-       * HtmlTable.cs:
-       (Add):
-       (AddAt): allow HtmlTableRow as children, not HtmlTableCell.
-
-       * HtmlTableCell.cs:
-       (RenderEndTag): new -> override.
-
-       * HtmlTableRow.cs:
-       (RenderChildren): fixed another stack overflow.
-       (RenderEndTag): new -> override.
-
-       * HtmlTextArea.cs:
-       (RenderAttributes): new -> override.
-
-
-2002-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlInputHidden.cs: fixed constructor.
-
-       * HtmlInputRadioButton.cs:
-       (RenderAttributes): fixed stack overflow.
-
-       (Name):
-       (RenderedName): new -> override.
-
-       (Value): new property. 
-
-       * HtmlInputText.cs:
-       (RenderAttributes): fixed the same kind of stack overflow and make
-       string comparison case insensitive.
-
-2002-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlForm.cs: fixed name of Enctype property and render enctype
-       enctype attribute.
-
-       * HtmlInputControl.cs: tag type is "input", not "type".
-
-2002-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlControl.cs: Render contents moved to new RenderBeginTag method,
-       defined in MS docs. 
-       
-       * HtmlForm.cs: Render output when no IE browser.
-
-       * HtmlInputButton.cs: added constructor without arguments. Xsp used it, 
-       though now it always use the other .ctor.
-       
-       * HtmlInputControl.cs: cosmetic changes and implemented set_Name.
-
-2002-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlButton.cs: RenderAttributes is an override, not new.
-
-       * HtmlContainerControl.cs: use the new Render method in HtmlControl.
-
-       * HtmlControl.cs: added Render method to render the tag and its
-       attributes. Works for container and non-containers.
-
-       * HtmlImage.cs: RenderAttributes don't need to be new. Implemented
-       Height property.
-       
-2002-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlContainerControl.cs: some formatting and use HttpUtility.Encode
-       instead of Page.Server to encode InnerText.
-
-2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * HtmlAnchor.cs:
-       (RenderAttributes): new -> override and fixed little bug that made
-       it cause an stack overflow.
-
-       * HtmlContainerControl.cs: reformatted and added tag and attributes 
-       rendering.
-
-       * HtmlGenericControl.cs: removed TagName, which is already in 
-       HtmlControl.
-
-       * HtmlTable.cs:
-       (RenderEndTag): new -> override.
-
-2002-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
-       * System.Web.UI.HtmlControls/HtmlForm.cs:
-       (RenderAttributes): changed new by override.
-       (Name): allow setting the property.
-
-2002-05-10  Duncan Mak  <duncan@ximian.com>
-
-       * HtmlTableCellCollection.cs (this): Updated the indexer to return
-       the right type, HtmlTableCell instead of HtmlTableRow. 
-
-       * HtmlInputImage.cs (OnServerClick): Commented out parts that
-       won't compile.
-
-       * HtmlForm.cs (RenderAttributes): 
-       (RenderChildren): Commented out code that doesn't compile. 
-
-2002-05-07  Duncan Mak  <duncan@ximian.com>
-
-       * HtmlSelect.cs (TrackViewState): Added 'new' keyword to avoid
-       clashing with the method defined in the parent class.
-       (OnDataBinding): Added missing casts.
-
-       * HtmlForm.cs (Render): Fixed call too SetAttribute, need to cast
-       'this' to IAttributeAccessor before calling interface method.
-       Also renamed some calls to reflect changes in the API.
-
-       * HtmlControl.cs (WriteOnClickAttribute): Made it not static and
-       fixed a typo.
-
-2001-09-03  Leen Toelen  <toelen@hotmail.com>
-
-        * HtmlAnchor.cs: Initial implementation.
-        * HtmlTextArea.cs: Initial implementation.
-
-2001-08-22  Bob Smith  <bob@thestuff.net>
-
-         * HtmlContainerControl.cs: Initial implementation.
-         * HtmlControl.cs: Initial implementation.
-         * HtmlGenericControl.cs: Initial implementation.
+       be checked. fixes bug #52158.\r
+\r
+2003-12-07  Alon Gazit <along@mainsoft.com>\r
+       * HtmlTableCell.cs: fixing a typo in NoWrap property. \r
+\r
+2003-12-04  Jackson Harper <jackson@ximian.com>\r
+\r
+       * HtmlInputRadioButton.cs: Lookup name in postadata and compare to\r
+       value. This is because radio button groups are created by setting\r
+       the name to the same value with each button, then on postback the\r
+       value of the name is the id of the selected radio button. \r
+       \r
+2003-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlContainerControl.cs: encode/decode InnerText. Fixes bug #51653.\r
+\r
+2003-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlSelect.cs: with the new LosFormatter, we get array types right, so\r
+       remove the code used to workaround that.\r
+\r
+2003-12-01  Jackson Harper <jackson@ximian.com>\r
+\r
+       * HtmlControl.cs: Fix disabled property. Patch by Alon Gazit\r
+       <along@mainsoft.com>.\r
+       \r
+2003-11-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlSelect.cs: don't add items without data. Patch by Alon Gazit\r
+       <along@mainsoft.com>. Fixes bug #51377.\r
+\r
+2003-11-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlInputRadioButton.cs: initialize event indexer. Patch by Alon Gazit\r
+       <along@mainsoft.com>.\r
+\r
+2003-10-29 Jackson Harper <jackson@ximian.com>\r
+\r
+       * HtmlControl.cs: Make disabled an attribute of the control so it\r
+       is rendered. This is a slightly modifed version of a patch\r
+       by Yaron Shkop. Fixes bug #50160.\r
+       \r
+2003-10-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlTextArea.cs: fixed infinite recursion.\r
+\r
+2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs: render the onsubmit attribute.\r
+\r
+2003-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlGenericControl.cs: ConstructorNeedsTag defaults to false so we\r
+       need to pass true here. Fixes bug #47918.\r
+\r
+2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>\r
+\r
+       * HtmlContainerControl.cs: Added attributes\r
+       * HtmlControl.cs: Added attributes\r
+       * HtmlInputControl.cs: Fixed public signature\r
+       * HtmlInputRadioButton.cs: Fixed public signature\r
+       * HtmlSelect.cs: Added missing attribute\r
+       * HtmlTable.cs: Added missing attribute\r
+\r
+2003-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlSelect.cs: fixed bug #44894.\r
+\r
+2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlImage.cs:\r
+       * HtmlInputControl.cs:\r
+       * HtmlSelect.cs: added control builder attribute.\r
+\r
+       * HtmlSelectBuilder.cs: builder for HtmlSelect.\r
+\r
+       * HtmlControlBuilder.cs: common builder for all HtmlControls.\r
+\r
+2003-01-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlControl.cs: _tagName is now internal.\r
+       * HtmlGenericControl.cs: use the field in HtmlControl to keep the tag\r
+       name.\r
+\r
+2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * System.Web.UI.HtmlControls/HtmlForm.cs: render 'action' attribute.\r
+\r
+2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlInputButton.cs: fixed bug #35677.\r
+\r
+2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlInputControl.cs: fixed bug #35673.\r
+\r
+2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlInputText.cs: fixed bug #35670.\r
+\r
+2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlSelect.cs: fixed LoadViewstate.\r
+\r
+2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlButton.cs: make it do a POST if the button has any ServerClick\r
+       events.\r
+\r
+2002-09-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlAnchor.cs:\r
+       * HtmlButton.cs:\r
+       * HtmlContainerControl.cs:\r
+       * HtmlControl.cs:\r
+       * HtmlForm.cs:\r
+       * HtmlGenericControl.cs:\r
+       * HtmlImage.cs:\r
+       * HtmlInputButton.cs:\r
+       * HtmlInputCheckBox.cs:\r
+       * HtmlInputControl.cs:\r
+       * HtmlInputFile.cs:\r
+       * HtmlInputHidden.cs:\r
+       * HtmlInputImage.cs:\r
+       * HtmlInputRadioButton.cs:\r
+       * HtmlInputText.cs:\r
+       * HtmlSelect.cs:\r
+       * HtmlTable.cs:\r
+       * HtmlTableCell.cs:\r
+       * HtmlTableRow.cs:\r
+       * HtmlTextArea.cs: added almost all missing attributes.\r
+\r
+2002-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlControl.cs: the attributes must use ViewState as its StateBag,\r
+       if not style values are lost between postbacks.\r
+\r
+2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlAnchor.cs:\r
+       * HtmlButton.cs:\r
+       * HtmlInputButton.cs:\r
+       * HtmlInputCheckBox.cs:\r
+       * HtmlInputHidden.cs:\r
+       * HtmlInputImage.cs:\r
+       * HtmlInputText.cs:\r
+       * HtmlTextArea.cs: Initialize EventHandlerList indexer.\r
+\r
+       * HtmlContainerControl.cs: almost rewritten to use a LiteralControl\r
+       instead of maintaining some flags and strings. Implemented\r
+       LoadViewState.\r
+\r
+       * HtmlControl.cs: fixed constructor and added ViewStateIgnoreCase.\r
+\r
+       * HtmlSelect.cs: fixed TrackViewState, SaveViewState, SelectedIndices\r
+       and Value.\r
+\r
+2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlGenericControl.cs: fixed TagName signature and get/set.\r
+       * HtmlInputImage.cs: added attribute and fixed signature of ServerClick.\r
+       * HtmlInputText.cs: added attribute.\r
+\r
+2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs: don't render action attribute.\r
+\r
+2002-07-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlContainerControl.cs: \r
+       (CreateControlCollection): added. All containers must have a non-empty\r
+       control collection.\r
+\r
+2002-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * System.Web.UI.HtmlControls/HtmlAnchor.cs: \r
+       * System.Web.UI.HtmlControls/HtmlButton.cs: \r
+       * System.Web.UI.HtmlControls/HtmlControl.cs: \r
+       * System.Web.UI.HtmlControls/HtmlForm.cs: \r
+       * System.Web.UI.HtmlControls/HtmlGenericControl.cs: \r
+       * System.Web.UI.HtmlControls/HtmlInputButton.cs: \r
+       * System.Web.UI.HtmlControls/HtmlInputCheckBox.cs: \r
+       * System.Web.UI.HtmlControls/HtmlInputControl.cs: \r
+       * System.Web.UI.HtmlControls/HtmlInputFile.cs: \r
+       * System.Web.UI.HtmlControls/HtmlInputHidden.cs: \r
+       * System.Web.UI.HtmlControls/HtmlInputImage.cs: \r
+       * System.Web.UI.HtmlControls/HtmlInputRadioButton.cs: \r
+       * System.Web.UI.HtmlControls/HtmlInputText.cs: \r
+       * System.Web.UI.HtmlControls/HtmlSelect.cs: \r
+       * System.Web.UI.HtmlControls/HtmlTable.cs: \r
+       * System.Web.UI.HtmlControls/HtmlTableCell.cs: \r
+       * System.Web.UI.HtmlControls/HtmlTableRow.cs: \r
+       * System.Web.UI.HtmlControls/HtmlTextArea.cs: \r
+\r
+       Fixes based on class status page:\r
+       \r
+               - Add attributes (DefaultEvent, ParseChildren).\r
+               - Fix declarations.\r
+               - Explicitly implement some interfaces (IPostBackDataHandler\r
+               and IPostBackEventHandler).\r
+               - Implemented some missing methods.\r
+\r
+2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs:\r
+       (RenderChildren): use OnFormRender and OnFormPostRender.\r
+\r
+2002-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlSelect.cs:\r
+       (RenderAttributes): new -> override and fixes stack overflow.\r
+       (RenderChildren): only 1 option can be selected at any given time\r
+       except when Multiple property is true.\r
+       (Multiple): the attribute value is either "true" or "false", not \r
+       "multiple".\r
+\r
+       * HtmlTable.cs:\r
+       (Add):\r
+       (AddAt): allow HtmlTableRow as children, not HtmlTableCell.\r
+\r
+       * HtmlTableCell.cs:\r
+       (RenderEndTag): new -> override.\r
+\r
+       * HtmlTableRow.cs:\r
+       (RenderChildren): fixed another stack overflow.\r
+       (RenderEndTag): new -> override.\r
+\r
+       * HtmlTextArea.cs:\r
+       (RenderAttributes): new -> override.\r
+\r
+\r
+2002-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlInputHidden.cs: fixed constructor.\r
+\r
+       * HtmlInputRadioButton.cs:\r
+       (RenderAttributes): fixed stack overflow.\r
+\r
+       (Name):\r
+       (RenderedName): new -> override.\r
+\r
+       (Value): new property. \r
+\r
+       * HtmlInputText.cs:\r
+       (RenderAttributes): fixed the same kind of stack overflow and make\r
+       string comparison case insensitive.\r
+\r
+2002-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlForm.cs: fixed name of Enctype property and render enctype\r
+       enctype attribute.\r
+\r
+       * HtmlInputControl.cs: tag type is "input", not "type".\r
+\r
+2002-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlControl.cs: Render contents moved to new RenderBeginTag method,\r
+       defined in MS docs. \r
+       \r
+       * HtmlForm.cs: Render output when no IE browser.\r
+\r
+       * HtmlInputButton.cs: added constructor without arguments. Xsp used it, \r
+       though now it always use the other .ctor.\r
+       \r
+       * HtmlInputControl.cs: cosmetic changes and implemented set_Name.\r
+\r
+2002-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlButton.cs: RenderAttributes is an override, not new.\r
+\r
+       * HtmlContainerControl.cs: use the new Render method in HtmlControl.\r
+\r
+       * HtmlControl.cs: added Render method to render the tag and its\r
+       attributes. Works for container and non-containers.\r
+\r
+       * HtmlImage.cs: RenderAttributes don't need to be new. Implemented\r
+       Height property.\r
+       \r
+2002-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlContainerControl.cs: some formatting and use HttpUtility.Encode\r
+       instead of Page.Server to encode InnerText.\r
+\r
+2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * HtmlAnchor.cs:\r
+       (RenderAttributes): new -> override and fixed little bug that made\r
+       it cause an stack overflow.\r
+\r
+       * HtmlContainerControl.cs: reformatted and added tag and attributes \r
+       rendering.\r
+\r
+       * HtmlGenericControl.cs: removed TagName, which is already in \r
+       HtmlControl.\r
+\r
+       * HtmlTable.cs:\r
+       (RenderEndTag): new -> override.\r
+\r
+2002-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * System.Web.UI.HtmlControls/HtmlForm.cs:\r
+       (RenderAttributes): changed new by override.\r
+       (Name): allow setting the property.\r
+\r
+2002-05-10  Duncan Mak  <duncan@ximian.com>\r
+\r
+       * HtmlTableCellCollection.cs (this): Updated the indexer to return\r
+       the right type, HtmlTableCell instead of HtmlTableRow. \r
+\r
+       * HtmlInputImage.cs (OnServerClick): Commented out parts that\r
+       won't compile.\r
+\r
+       * HtmlForm.cs (RenderAttributes): \r
+       (RenderChildren): Commented out code that doesn't compile. \r
+\r
+2002-05-07  Duncan Mak  <duncan@ximian.com>\r
+\r
+       * HtmlSelect.cs (TrackViewState): Added 'new' keyword to avoid\r
+       clashing with the method defined in the parent class.\r
+       (OnDataBinding): Added missing casts.\r
+\r
+       * HtmlForm.cs (Render): Fixed call too SetAttribute, need to cast\r
+       'this' to IAttributeAccessor before calling interface method.\r
+       Also renamed some calls to reflect changes in the API.\r
+\r
+       * HtmlControl.cs (WriteOnClickAttribute): Made it not static and\r
+       fixed a typo.\r
+\r
+2001-09-03  Leen Toelen  <toelen@hotmail.com>\r
+\r
+        * HtmlAnchor.cs: Initial implementation.\r
+        * HtmlTextArea.cs: Initial implementation.\r
+\r
+2001-08-22  Bob Smith  <bob@thestuff.net>\r
+\r
+         * HtmlContainerControl.cs: Initial implementation.\r
+         * HtmlControl.cs: Initial implementation.\r
+         * HtmlGenericControl.cs: Initial implementation.\r
index 69d3a1b8b5d0f192b94a8855f7c89169d82ea2dd..8b9116d2fc8f301564ee42f64ba0213d01b0df94 100644 (file)
@@ -124,6 +124,28 @@ namespace System.Web.UI.HtmlControls {
                        }
                }
 
+#if NET_2_0
+               [DefaultValue (true)]
+               public virtual bool CausesValidation {
+                       get {
+                               return ViewState.GetBool ("CausesValidation", true);
+                       }
+                       set {
+                               ViewState ["CausesValidation"] = value;
+                       }
+               }
+
+               [DefaultValue ("")]
+               public virtual string ValidationGroup {
+                       get {
+                               return ViewState.GetString ("ValidationGroup", String.Empty);
+                       }
+                       set {
+                               ViewState ["ValidationGroup"] = value;
+                       }
+               }
+#endif
+
 #if NET_2_0
                protected internal
 #else
@@ -147,9 +169,15 @@ namespace System.Web.UI.HtmlControls {
 
                        EventHandler serverClick = (EventHandler) Events [serverClickEvent];
                        if (serverClick != null) {
+#if NET_2_0
+                               // a script
+                               PostBackOptions options = GetPostBackOptions ();
+                               Attributes ["href"] = Page.ClientScript.GetPostBackEventReference (options);
+#else
                                // a script
                                ClientScriptManager csm = new ClientScriptManager (Page);
                                Attributes ["href"] = csm.GetPostBackClientHyperlink (this, String.Empty);
+#endif
                        } else {
                                string hr = HRef;
                                if (hr != "")
@@ -169,8 +197,25 @@ namespace System.Web.UI.HtmlControls {
 #if NET_2_0
                protected virtual void RaisePostBackEvent (string eventArgument)
                {
+                       if (CausesValidation)
+                               Page.Validate (ValidationGroup);
+                       
                        OnServerClick (EventArgs.Empty);
                }
+       
+               PostBackOptions GetPostBackOptions () {
+                       PostBackOptions options = new PostBackOptions (this);
+                       options.ValidationGroup = null;
+                       options.ActionUrl = null;
+                       options.Argument = "";
+                       options.RequiresJavaScriptProtocol = true;
+                       options.ClientSubmit = true;
+                       options.PerformValidation = CausesValidation && Page != null && Page.AreValidatorsUplevel (ValidationGroup);
+                       if (options.PerformValidation)
+                               options.ValidationGroup = ValidationGroup;
+
+                       return options;
+               }
 #endif
 
                void IPostBackEventHandler.RaisePostBackEvent (string eventArgument)
index 86e751c0cd853cc5cec165f29bb80e5cfd3ec6a5..45ea50756042649772f152d15d387a9c19bafbb9 100644 (file)
@@ -1,3 +1,7 @@
+2006-09-17  Igor Zelmanovich  <igorz@mainsoft.com>
+
+       * HtmlAnchorTest.cs: added test for ViewState
+
 2006-07-10 Andrew Skiba <andrews@mainsoft.com>
 
        * HtmlInputControlTest.cs: check attribute values, not only their
index 672515de7b0d244eaf92c2a4fcdaa200cf9f469e..8e1acac87b05d1ab70d19672d196dd53142bd046 100644 (file)
@@ -51,6 +51,18 @@ namespace MonoTests.System.Web.UI.HtmlControls {
                        base.RaisePostBackEvent ("2.0");
                }
 #endif
+
+               public void TrakState () {
+                       TrackViewState();
+               }
+
+               public object SaveState () {
+                       return SaveViewState ();
+               }
+
+               public void LoadState (object state) {
+                       LoadViewState (state);
+               }
        }
 
        [TestFixture]
@@ -193,6 +205,23 @@ namespace MonoTests.System.Web.UI.HtmlControls {
                        a.Raise ();
                        Assert.IsTrue (serverClick, "ServerClick");
                }
+
+               [Test]
+               public void ViewState2 () {
+                       TestHtmlAnchor a = new TestHtmlAnchor ();
+                       a.TrakState ();
+                       a.CausesValidation = false;
+                       a.ValidationGroup = "VG";
+                       
+                       object s = a.SaveState ();
+                       
+                       TestHtmlAnchor copy = new TestHtmlAnchor ();
+                       
+                       copy.LoadState (s);
+
+                       Assert.AreEqual (false, copy.CausesValidation, "A1");
+                       Assert.AreEqual ("VG", copy.ValidationGroup, "A2");
+               }
 #endif
        }
 }