2010-07-23 Marek Habersack * MenuItemBindingCollection.cs: added the OnClear, OnRemoveComplete and OnValidate methods (2.0+) * MenuItemStyleCollection.cs: added the OnInsert method (2.0+) * TreeNodeStyleCollection.cs: added the OnInsert method (2.0+) * TreeNodeBindingCollection.cs: added the OnClear, OnRemoveComplete and OnValidate methods (2.0+) * ValidationSummary.cs: implemented OnInit (4.0) * WizardStepBase.cs: added the LoadViewState, OnLoad and RenderChildren methods (2.0+) 2010-07-22 Marek Habersack * MenuItemBinding.cs: made code a bit more compact. Implemented ToString (4.0) * MenuRenderingMode.cs: added (4.0) * Menu.cs: added the IncludeStyleBlock and RenderingMode 4.0 properties (not used in the code yet). 2010-07-21 Marek Habersack * Wizard.cs: made rendering 100% compliant with .NET (button IDs, 2.0+) Implemented LayoutTemplate (4.0+) * LinkButton.cs: render id first * CreateUserWizard.cs: CreateUserNavigationContainer.UpdateState doesn't add a previous button if we're on the first step. 2010-07-20 Marek Habersack * StyleCollection.cs: added 2010-07-19 Marek Habersack * SqlDataSourceView.cs: added the RaiseUnsupportedCapabilityError method (2.0+) * RoleGroupCollection.cs: added OnValidate (undocumented) overload * ParameterCollection.cs: added missing Add method overload (2.0+) * LiteralControlBuilder.cs: added the AppendLiteralString method override (2.0+) * DataKey.cs: implemented IEquatable interface methods (4.0) * XmlDataSource.cs: implemented CacheKeyContext property (4.0) 2010-07-16 Marek Habersack * Login.cs, PasswordRecovery.cs: implemented RenderOuterTable (4.0) * FormViewRow.cs: added internal property RenderJustCellContents which makes the control render only its children (4.0) * FormView.cs: implemented RenderOuterTable property and the ModifiedOuterTableStylePropertyName method (4.0) 2010-07-15 Marek Habersack * WebControl.cs: implemented verifying that no inline style property is set for controls which support the RenderOuterTable property (4.0) * IRenderOuterTable.cs: internal helper interface for controls which support the RenderOuterTable property (for now only ChangePassword, 3 more to come) * ChangePassword.cs: implemented RenderOuterTable property and the corresponding behavior of not rendering surrounding table when the property is set to false (4.0). Modified BaseChangePasswordContainer to not inherit from Table anymore. Table is an instance variable (always used as the template container in 2.0) which is optionally (and by default) used to contain the templates. * PlaceHolder.cs, View.cs, WizardStepBase: added EnableTheming property * MultiViewControlBuilder.cs: added 2010-07-14 Marek Habersack * Menu.cs: fixed skip link rendering (no child controls are added in the process, writing directly to HtmlTextWriter). Fixes tests for 4.0 If StaticSubMenuIndent equals Unit.Empty on 4.0, default to using 16px as the value of the margin-left CSS attribute. 2010-07-13 Marek Habersack * BoundField.cs: implemented HtmlEncodeFormatString property (3.5+) and modified the way FormatDataValue works accordingly. * ListBox.cs, CheckBoxList.cs, ListControl.cs: VerifyMultiSelect is not part of the official API. MultiSelect capability validation is performed using an internal virtual method MultiSelectOk (). * BaseDataList.cs: OnPagePreLoad is not part of the official API * BaseDataBoundControl.cs, BaseDataList.cs, DataListItem.cs, ValidationSummary.cs: implemented 4.0 SupportsDisabledAttribute property. * Wizard.cs: wizard table doesn't contain any instances of HtmlAnchor or Image controls. Moved rendering of the skip link anchor to the TableCellNamingContainer class, which does that in RenderChildren by directly writing to the passed writer. Fixes 4.0 rendering and all the failing Wizard tests. 2010-07-08 Marek Habersack * CheckBoxList.cs: RepeatLayout property update for new values of the RepeatLayout enum in 4.0 * TreeView.cs: in 4.0, checkbox renders the value of the current node's ToolTip, if anything, and not Text. * RepeatLayout.cs: added two new members, UnorderedList and OrderedList (4.0) * ImageMap.cs: implemented missing Enabled property (2.0+) RaisePostBackEvent must be protected and virtual (2.0+) NavigateUrl is ignored if the control is disabled (4.0) 2010-07-07 Marek Habersack * TreeView.cs: 4.0 rendering changes. When using registered CSS classes, the node style must use them in reverse order. 2010-07-06 Marek Habersack * HyperLink.cs: the associated image is not rendered using the Image control. 2010-07-02 Marek Habersack * Menu.cs: 4.0 API updates. * GridView.cs: implemented 4.0 properties - SortedAscendingCellStyle, SortedAscendingHeaderStyle, SortedDescendingCellStyle, SortedDescendingHeaderStyle, ClientIDRowSuffix, ClientIDRowSuffixDataKeys, ShowHeaderWhenEmpty along with associated rendering changes. * DetailsView.cs, FormView.cs, GridView.cs: 4.0 API changes - renamed ShowPage to SetPageIndex and made it public. Added 4.0 interfaces to inheritance list and implemented them. * DataKeyArray.cs: added internal constructor which accepts IList instead of ArrayList. Changed the 'keys' field type to IList. * ContainedTable.cs: the 'id' attribute must be rendered last. * CheckBox.cs, CheckBoxList.cs, SiteMapPath.cs, Table.cs, TableStyle.cs, TextBox.cs, WebControl.cs: 4.0 rendering changes. * Calendar.cs, CompositeControl.cs, DropDownList.cs, HyperLink.cs, Image.cs, ImageButton.cs, Label.cs, LinkButton.cs, LoginName.cs, Panel.cs, Table.cs, TableCell.cs, TableRow.cs: added new 4.0 property, SupportsDisabledAttribute. 2010-06-21 Marek Habersack * BaseValidator.cs, BulletedList.cs, Calendar.cs, CheckBox.cs, CheckBoxList.cs, DataGrid.cs, DropDownList.cs, GridView.cs, HyperLink.cs, ImageButton.cs, LinkButton.cs, ListBox.cs, ListControl.cs, Menu.cs, RadioButton.cs, RadioButtonList.cs, RepeatInfo.cs, Repeater.cs, TextBox.cs, TreeView.cs, ValidationSummary.cs, WebControl.cs: use WebControl.IsEnabled instead of Enabled wherever necessary. 2010-06-16 Marek Habersack * FormView.cs: row values must be retrieved with inclusion of keys. Fixes bug #607722 2010-06-03 Marek Habersack * Parameter.cs, ControlParameter.cs, SessionParameter.cs, CookieParameter.cs, FormParameter.cs, ProfileParameter.cs, QueryStringParameter.cs: Evaluate is 'protected internal virtual' in 4.0. * RouteParameter.cs: implemented. 2010-04-28 Marek Habersack * CheckBoxList.cs: do not modify list item status in LoadPostData when the list control is disabled. If an item is selected and it was unchecked by the user, deselect it. Fixes bug #600415 2010-04-13 Marek Habersack * GridView.cs: make sure Header and Footer visibility are set when binding the data. Fixes bug #595567 * ImageField.cs, CheckBoxField.cs: OnDataBindField must expect sender to be something else than DataControlFieldCell. Fixes bug #595568 2010-04-07 Marek Habersack * FormParameter.cs, CookieParameter.cs, ProfileParameter.cs, QueryStringParameter.cs, SessionParameter.cs: implemented constructor overloads which take DbType as one of the arguments. 2010-04-01 Marek Habersack * FormView.cs: do not show the pager if PagerSettings.Visible is false. Fixes bug #578863 2010-03-29 Marek Habersack * GridView.cs: main table must be created and added to the controls collection before any OnRowCreated event is fired. 2010-03-19 Gonzalo Paniagua Javier * TreeView.cs: use enums instead of strings for attributes. 2010-03-06 Marek Habersack * XmlDataSource.cs: reload document when one of Data, DataFile, Transform or TransformFile properties is set. Fixes bug #585968. Fix based on patch from Jeffrey Alvarez , thanks. 2010-02-19 Marek Habersack * SqlDataSource.cs: call base.OnInit in OnInit. Fixes bug #572781 2010-02-18 Marek Habersack * ListItemCollection.cs: ItemsEnabled and associated code removed - there's no need to alter ListItem's Enabled property when loading view state. * ListControl.cs: SaveViewState doesn't set the items collection's ItemsEnabled property as it was removed from ListItemCollection * CheckBoxList.cs: LoadPostData never unselects any item. A better fix for bug #377703 RenderItem renders items as disabled when Enabled is false, but if Enabled is true, item is rendered according to the value of its own Enabled property. Fixes bug #578770 * TreeView.cs: RegisterStyle must copy CssClass in addition to other style properties. Fixes bug #580692 2010-01-18 Marek Habersack * Parameter.cs: added missing 3.5 APIs - constructors taking DbType as one of the parameters, ConvertDbTypeToTypeCode, ConvertTypeCodeToDbType and GetDatabaseType. Fixes bug #567850 2010-01-15 Marek Habersack * ChangePassword.cs: BaseChangePasswordContainer forwards EnsureChildControls call to its owner, so that finding controls in the container works correctly. 2009-11-30 Marek Habersack * WebControl.cs: HasAttributes made available as internal for 1.1 Avoid calling the Attributes getter many times in CopyBaseAttributes. If TrackViewState is called and attributes state bag already exists, mark all items in the latter as dirty. * CheckBox.cs, Button.cs, ImageButton.cs, LinkButton.cs: do not create the Attributes collection if not necessary. 2009-11-16 Marek Habersack * TreeNodeCollection.cs: whenever a node is added, let the owner know about it. * TreeNode.cs: added internal property HadChildrenBeforePopulating which is used to let TreeView know about an error condition where a populate-on-demand node contains children added outside the OnTreeNodePopulate event * TreeView.cs: if a node has any child nodes and PopulatOnDemand is set, throw an exception from RenderNode. This is the behavior of .NET 2009-11-13 Marek Habersack * TableRowCollection.cs: added .NET compatibility NREX throws to several methods. Whenever a row is added/removed, its Container property is set. Fixes bug #551666 * TableRow.cs: introduced an internal property, Container, which is set by TableRowCollection whenever this row is added/removed to/from the collection. This allows the row to notify the collectio and, in consequence, collection owner that TableSection has been set and thead/tbody/tfoot elements need to be generated. Fixes bug #551666 2009-11-10 Marek Habersack * PasswordRecovery.cs: {Question,Success,UserName}TemplateContainer must all be populated the first time the property is accessed, so that calling FindControl on the container returns valid and expected results. If the associated template is not defined, though, populating is postponed till CreateChildControls is called - that's where default, empty, template will be created. This is required to fix YetAnotherForum's password recovery control. Mail template used in SendPasswordByMail must match the one used in .NET (it has to end with a newline) as YAF parses the message to retrieve user name and password and breaks if the last line doesn't end with a newline character. 2009-10-30 Marek Habersack * PasswordRecovery.cs: mail message replacements should include <% Password %> and <% UserName %> and matching should be case-insensitive. Fixes bug #545370 2009-10-28 Marek Habersack * ListControl.cs: OnDataBinding must call base implementation before performing the binding, so that DataSource can be assigned from within the handler. 2009-10-13 Marek Safar * WebColorConverter.cs: Delegate ConvertFrom to ColorTranslator.FromHtml, it is correctly implemented and knows many more tricks. 2009-10-13 Marek Habersack * WebColorConverter.cs: don't use a dictionary to check for valid color names, use Color.IsKnownColor instead. Update for bug #546173 fix. Added more CSS2 color name mappings. 2009-10-12 Marek Habersack * WebColorConverter.cs: when converting from color name, check if the returned color's name is a member of the System.Drawing.KnownColor enumeration to test for error condition, as some colors might be #000000. Preserve the old error check as a fallback only. Map "captiontext" and "background" color names to "ActiveCaptionText" and "Desktop", respectively, before passing them to Color.FromName (). Fixes bug #546173 2009-10-02 Marek Habersack * GridView.cs: added two 3.5 properties - SelectedPersistedDataKey and IPersistedSelector.DataKey. * BaseDataBoundControl.cs: slight optimizations to FindDataSource 2009-09-28 Marek Habersack * DataBoundControl.cs: Initialize sets RequiresDataBinding properly, only when we're not data-bound already, when we aren't in postback or when we are in postback, but with viewstate enabled. Fixes bug #542076 2009-09-01 Marek Habersack * ObjectDataSourceView.cs: ExecuteSelect must call QueryTotalRowCount after executing the select method (that's what .NET does) 2009-08-25 Marek Habersack * WebColorConverter.cs: inform the user that the might need to check if libgdiplus is installed when parsing a color name fails. Fixes bug #533749 2009-08-21 Marek Habersack * Menu.cs: separator image is rendered next to the item in horizontal layout and is preceeded by 3px spacer (unless itemSpacing is set) to make output match .NET. Fixes bug #474716 * TreeNodeCollection.cs: {Save,Load}ViewState now store/load the type of the node, if node is a of a custom type. Fixes bug #475997 2009-06-29 Gonzalo Paniagua Javier * Parameter.cs: add new DbType property. 2009-06-16 Marek Habersack * IPersistedSelector.cs: removed AspNetHostingPermission attributes from the 4.0 profile. * IDataBoundControl.cs, IDataBoundItemControl.cs, IDataBoundListControl.cs, IFieldControl.cs: added * DetailsView.cs: control implements 4.0 IDataBoundItemControl interface. * DataBoundControl.cs: implemented 4.0 property DataSourceObject (internal for 2.0) and made the InternalPerformDataBinding method internal for the 4.0 profile. 2009-06-11 Gonzalo Paniagua Javier * ContentControlBuilderInternal.cs: detect missing ContentPlaceHolderID attribute when parsing instead of throwing a nullref later on. 2009-05-29 Marek Habersack * ListItem.cs: when tracking view state is turned on after attributes have been set, make sure that the associated state bag begins tracking state and that all of its existing items are marked as dirty. Do the same after loading view state. Fixes bug #507836 2009-04-29 Marek Habersack * DataBoundControl.cs: added InternalGetDataSource method, used by DynamicData 2009-04-28 Marek Habersack * GridView.cs: implemented ColumnsGenerator and enabled its use in CreateColumns. * DetailsView.cs: implemented the RowsGenerator property and enabled its use in CreateFieldSet. 2009-04-07 Marek Habersack * TreeView.js: removed nodeText parameter from the JS calls. * TreeView.cs: encode | characters into U+007C, so that RaiseCallbackEvent doesn't get confused. Removed nodeText parameter from the JS calls. 2009-04-06 Gonzalo Paniagua Javier * TreeNode.cs: reset the path data for all child nodes too. * TreeView.cs: HtmlAttribute encode the node text. When rebuilding the node tree, set the correct index for the nodes so that the Path is correct. 2009-04-06 Marek Habersack * TreeView.js: TreeView_ToggleExpand now takes more parameters - a full definition of treeview's node contents. Added new function, TreeView_PopulateNode, which partially takes over role of the PopulateNode function generated in TreeView.OnPreRender (see below). Fixes bug #492307 * TreeView.cs: RaiseCallbackEvent needs to recreate the event target's parental tree all the way from the root to the node and populate only the leaf (requested) node. This avoids calling the TreeNodePopulate handler more times than needed. Fixes bug #492307 OnPreRender: moved the script code to constants and the script body is now generated using StringBuilder instead of a series of String.Format calls. GetClientExpandEvent: adjusted code for new TreeView JavaScript API. 2009-03-17 Marek Habersack * Unit.cs: introduced a field to tell the difference between empty (as in Unit.Empty) and 0px units. 2009-03-06 Marek Habersack * WebControl.cs: if savedState is not an instance of Pair in LoadViewState, do not attempt to load from it. 2009-02-10 Marek Habersack * ImageButton.cs: AddAttributesToRender renders the onclick attribute only if any of the following is true: - OnClientClick is not empty - Validation is enabled for the control - PostBackUrl is used PostBackOptions now indicate that control requires the javascript protocol for the handler. RaisePostBackEvent passes String.Empty as the argument. Fixes bug #463939 2009-02-09 Marek Habersack * ObjectDataSourceView.cs: ExecuteSelect returns a single-item array of objects containing the result, if the result isn't one of DataSet, DataTable or IEnumerable. Fixes bug #471767 2009-02-06 Marek Habersack * Style.cs: if CssClass is null, return String.Empty. Fixes bug #473303 Added a range check to the BorderStyle property. 2009-02-05 Marek Habersack * Login.cs: check the value of DisplayRememberMe when creating the child controls. Fixes #468359 2009-01-20 Marek Habersack * Substitution.cs: added. Fixes bug #467460 2009-01-13 Marek Habersack * XmlBuilder.cs: updates related to ControlBuilder cleanup. 2008-12-01 Marek Habersack * Style.cs: WriteStyleAttributes must not use the fontinfo field directly, it has to be done via the Font property. Fixes bug #449793 2008-11-15 Marek Habersack * ContentPlaceHolder.cs, Content.cs, FormViewPagerRow.cs, ChangePassword.cs, DetailsViewPagerRow.cs: implements INonBindingContainer interface. * Wizard.cs: implement INonBindingContainer interface for several private/internal classes. 2008-10-24 Gonzalo Paniagua Javier * ImageButton.cs: clicking an image causes a postback. Bug #439004 fixed. 2008-10-24 Marek Habersack * CheckBox.cs: register for event validation in Render (). 2008-10-21 Marek Habersack * XmlDataSource.cs: DataFile may be an URL. 2008-10-17 Marek Habersack * ImageMap.cs: added the SupportsEventValidation attribute to the class. Validate the event in RaisePostBackEvent (). Register for event validation in Render (). * DropDownList.cs, ListBox.cs: validate the event in LoadPostData (). * TextBox.cs: validate the event in LoadPostData (). Register for event validation in AddAttributesToRender (). * HiddenField.cs: validate the event in RaisePostDataChangedEvent. Register for event validation in Render (). * RadioButton.cs: validate the event in LoadPostData (). Register for event validation in InternalAddAttributesToRender. * CheckBox.cs, RadioButtonList.cs: validate the event in RaisePostDataChangedEvent. * Menu.cs: added the SupportsEventValidation attribute to the class. Validate the event in RaisePostBackEvent (). Register for event validation in GetClientEvent (). * DetailsView.cs, GridView.cs: validate the event in RaisePostBackEvent (). Register for validation in GetCallbackScript () and in OnPreRender * Button.cs, Table.cs, BulletedList.cs, Calendar.cs, LinkButton.cs, ImageButton.cs, TreeView.cs: validate the event in RaisePostBackEvent (). 2008-10-14 Marek Habersack * CompositeDataBoundControl.cs: renamed the itemcount ViewState item from "_ItemCount" to "_!ItemCount" for .NET compatibility. This item is accessed and used by some commercial ASP.NET controls. * DataBoundControl.cs: OnPagePreLoad must force databinding also when the request is not a postback. 2008-10-13 Marek Habersack * Table.cs, TableRowCollection.cs, TableRow.cs: render table sections when necessary. Fixes bug #434555 2008-10-08 Marek Habersack * ControlParameter.cs: Evaluate calls DataBinder.Eval to do the evaluation now. This makes it support complex expressions. 2008-09-30 Sebastien Pouliot * RoleGroupCollection.cs: Fix recursive calls (wrong target) [Found using Gendarme's BadRecursiveInvocationRule] 2008-09-28 Sebastien Pouliot * XmlDataSource.cs: Make sure the result of the multiplication is a long (not an integer casted into a long since it could overflow). [Found using Gendarme's ReviewCastOnIntegerMultiplicationRule] 2008-09-17 Juraj Skripsky * RadioButton.cs (ValueAttribute, LoadPostData): Fixes bug #426959. 2008-09-13 Atsushi Enomoto * IPersistedSelector.cs : new in 3.5 SP1. 2008-09-13 Atsushi Enomoto * DataBoundControlMode.cs : new 3.5 SP1 type. 2008-08-25 Marek Habersack * DataBoundControl.cs: set RequiresDataBinding to true in Initialize only if not in a postback, if not data bound and if the view state is enabled. Fixes bug #398318 UpdateViewData removes the OnDataSourceViewChanged handler before connecting to the datasource and restores it before returning to the caller. OnLoad gets the data source before initialization, to avoid premature OnDataSourceViewChanged triggers. Fixes bug #398318 Do not reconnect to the data source if we already have a valid one. 2008-08-18 Marek Habersack * Unit.cs: rewrote the unit parser in a slightly slower, but more correct, way. Fixes bug #417502 2008-07-28 Marek Habersack * TreeView.cs: when TreeView is displaying a site map and there is no node selected by the user, select the node corresponding to the current page, if any. 2008-07-24 Marek Habersack * DataGrid.cs: removed the private class TableID and moved its code to ChildTable.cs (see below). 2.0 instantiates teh ChildTable with the owner parameter now. Fixes bug #400377 * ChildTable.cs: refactoring - moved code from TableID previously defined in DataGrid.cs to here and made the class available under different names for both 1.x and 2.x profiles. Fixes bug #400377 * MailDefinition.cs: look for the mail body file in the correct path. Patch from Jackson Harper , thanks! Fixes bug #408699 * PasswordRecovery.cs: do not ask password recovery question if it's disabled. Patch from Jackson Harper , thanks! Fixes bug #408696 2008-07-16 Marek Habersack * XmlDataSource.cs: check if Page isn't null before stringifying it in GetDataKey (), fixes bug #409492 2008-07-13 Roei Erez * GridView.cs: When the RowDataBound event is invoked, the value of GridView1.DataKeys should contains all the keys up untill the current row, and not be empty. I only changed the order of the user event invocation and the addition to the collection. 2008-07-13 Roei Erez * TreeView.cs: In case of multiple tree node bingings, select The first one and not the last one. 2008-07-10 Roei Erez * HyperlinkField.cs: Changed behavior of HyperLinkField bound field key to be case insensitive. 2008-07-03 Marek Habersack * CheckBox.cs: do not render the language="javascript" attribute in the 2.0 profile. 2008-07-02 Marek Habersack * GridView.cs: minor optimizations (removed a foreach loop, replaced calls to Array.Length with a variable containing the length). 2008-06-30 Marek Habersack * ObjectDataSourceView.cs, Menu.cs, DataList.cs, CustomValidator.cs: hush the warnings 2008-06-10 Noam Lampert * ListItemCollection.cs: Provide viewstate for dirty collection even if it is empty. 2008-05-30 Marek Habersack * BaseDataBoundControl.cs, ChangePassword.cs, CustomValidator.cs, DataControlFieldCollection.cs, DataControlField.cs, PasswordRecovery.cs, PagerSettings.cs: do not use synthetized event accessors (to avoid locks). 2008-05-18 Marek Habersack * HierarchicalDataBoundControl.cs: Modified GetData method to check if DataSource implements IHierarchicalEnumerable and if so constructs and returns a new instance of ReadOnlyDataSourceView. This provides functional compatibility with the Microsoft.NET framework. Fixes bug #395209. Patch contributed by James Fitzsimons , thanks! 2008-05-06 Marek Habersack * Calendar.cs: do not create dateInfo in the constructor - culture might be not set yet at this point. Fixes bug #323566 Added a private property, DateInfo, which creates the dateInfo when requested. 2008-05-05 Sebastien Pouliot * BulletedList.cs: Avoid calling ToString on a string. * ButtonField.cs: Throw, not just create, the exceptions. * HyperLinkField.cs: Throw, not just create, the exceptions. * ImageField.cs: Throw, not just create, the exception. Avoid calling ToString on a string. * ListControl.cs: Avoid calling ToString on a string. [All issues were found using Gendarme] 2008-04-30 Marek Habersack * SiteMapDataSource.cs: when no starting node is found, return null instead of Provider.RootNode. Fixes bug #323994 2008-04-24 Marek Habersack * SqlDataSource.cs: raise the DataSourceChangedEvent when setting ConnectionString, ProviderName or DataSourceMode properties only when the new value differs from the old one. Fixes bug #359392 2008-04-16 Marek Habersack * ObjectDataSourceView.cs: ExecuteSelect should return an empty aray when no data has been retrieved from the specified source type. Fixes bug #380106 2008-04-15 Marek Habersack * MailDefinition.cs: dispose of streams the way it should be done. 2008-04-10 Marek Habersack * RadioButton.cs: adjust 'name' and 'value' attribute values to match MS.NET. Fixes bug #378024 * CheckBoxList.cs: set the Selected property to the value in POST data only if the item in question was enabled before postback occurred. Fixes bug #377703 * ListControl.cs: make sure the owned items' Enabled property is set to the same value what ListControl's. Fixes bug #377703 * ListItemCollection.cs: fixed SetDirty to store the index of the last dirtied item properly. Fixes bug #377703 For the 2.0 profile, set the ListItem instances Enabled property to the value of the owning ListControl (internal ItemsEnabled property was added to make it possible). Fixes bug #377703 2008-04-08 Dean Brettle * DataBoundControl.cs (InternalPerformDataBinding), HierarchicalDataBoundControl.cs (InternalPerformDataBinding), WebControl.cs (Render): fixed cast errors when a ControlAdapter that wasn't of the type corresponding to the control was used. 2008-04-03 Marek Habersack * DataList.cs: use the value of SelectedIndex, not selectedIndex, to return the key value in the SelectedValue property. Fixes bug #376519. Patch from Sergey Kuleshov , thanks! 2008-03-12 Vladimir Krasnov * AutoGeneratedField.cs, CheckBoxField.cs: fixed OnDataBindField, should hide checkbox only if DataItem is not defined 2008-03-09 Dean Brettle * DetailsView.cs, ListControl.cs, DataBoundControl.cs, FormView.cs, HierarchicalDataBoundControl.cs, WebControl.cs: added support for using ControlAdapters when present. * WebControl.cs: fixed implementation of IsEnabled to match documentation. * Menu.cs (RenderMenuBody): call Adapter.RenderItem() instead of RenderMenuItem() if an adapter is present. MenuAdapter.RenderItem() calls back to new Menu.RenderItem() internal method which calls RenderMenuItem() with the appropriate parameters. 2008-02-25 Igor Zelmanovich * GridView.cs: at Update and Delete use not read only coppies of dictionaries in event argumens, that allows user to change them before corresponding DataSource's method is called. 2008-02-20 Igor Zelmanovich * Login.cs: render id attribute of root element correctly. 2008-02-18 Marek Habersack * FormView.cs: the ItemCreated must be fired before data is bound to the FormView. Fixes bug #360434 2008-02-07 Igor Zelmanovich * Login.cs: render id attribute of root element correctly. 2008-02-05 Marek Habersack * FileUpload.cs: make sure FileContent always returns the input stream positioned at the beginning. Fixes bug #356846 2008-01-31 Igor Zelmanovich * Calendar.cs: resolve Next/Prev. month link date correctly. 2008-01-29 Igor Zelmanovich * TreeView.cs: add XPFileExplorer icon set. 2008-01-28 Igor Zelmanovich * Menu.js: dynamic nodes are positioned after hover style of parent node is applied. 2008-01-24 Vladimir Krasnov * DataSourceCacheManager.cs: fixed GetKeyFromParameters, incase more than one datasource using the same object with the same select method 2008-01-23 Igor Zelmanovich * ValidationSummary.cs: refactoring: If page contents instance of IScriptManager, it calls it's API instead Page.ClientScript. 2008-01-23 Igor Zelmanovich * Menu.cs: fixed rendering. 2008-01-16 Igor Zelmanovich * Wizard.cs: manage history state on "MovePrevious" action. 2008-01-16 Igor Zelmanovich * BulletedList.cs: resolve BulletImageUrl, register for event validation. 2008-01-13 Igor Zelmanovich * TreeView.cs: * TreeView.js: upgrade client side script due to changes in webform.js. 2008-01-07 Igor Zelmanovich * BaseCompareValidator.cs: * BaseValidator.cs: * CompareValidator.cs: * CustomValidator.cs: * RangeValidator.cs: * RegularExpressionValidator.cs: * RequiredFieldValidator.cs: refactoring: If page contents instance of IScriptManager, validators call it's API instead Page.ClientScript. 2008-01-07 Igor Zelmanovich * Button.cs: * ImageButton.cs: * LinkButton.cs: for TARGET_J2EE used CreateActionUrl instead ResolveClientUrl in GetPostBackOptions. 2008-01-06 Igor Zelmanovich * DetailsView.cs: render invisible rows correct. 2008-01-06 Igor Zelmanovich * DataControlField.cs: prevent infinite recursion 2008-01-01 Vladimir Krasnov * DataSourceCacheManager.cs: fixed SetCachedObject. fixed sliding expiration timespan 2007-12-31 Vladimir Krasnov * DataSourceCacheManager.cs: fixed SetCachedObject, fixed CacheDependency keys 2007-12-24 Igor Zelmanovich * TreeView.cs: revert changes from r91230 2007-12-18 Vladimir Krasnov * ListControl.cs: fixed Load/SaveViewState, removed selected indices storing * ListItem.cs: fixed Load/SaveViewState, added selected state storing * ListItemCollection.cs: fixed Load/SaveViewState, added flag to not rebuild the collection if was'nt changed 2007-12-13 Marek Habersack * Menu.cs, TreeView.cs: optimize use of String.Format in OnPreRender. Speed optimization - use String.Concat instead of String.Format in some cases. * GridView.cs, DetailsView.cs: optimize use of String.Format in OnPreRender. * CheckBox.cs, AccessDataSource.cs, WebColorConverter.cs, WebControl.cs,TextBox.cs, DropDownList.cs, ValidationSummary.cs, ListBox.cs, Panel.cs, BaseValidator.cs, LinkButton.cs: speed optimization - use String.Concat instead of String.Format in some cases. 2007-12-13 Vladimir Krasnov * Menu.cs: fixed rendering without head tag on page 2007-11-19 Vladimir Krasnov * Calendar.cs: performance optimizations: BuildLink fixed, StringBuilder used. TodaysDate DateTime.Today call cahced. 2007-11-19 Vladimir Krasnov * Unit.cs: performance optimization: ToString fixed, string.Concat used instead of string.Format 2007-11-19 Vladimir Krasnov * Style.cs: performance optimization: suppress finalizer added 2007-11-08 Igor Zelmanovich * BoundField.cs: * ImageField.cs: evaluate bound value using ThisExpession ("!") properly 2007-11-07 Igor Zelmanovich * WebControl.cs: enabled state restored properly. 2007-11-06 Igor Zelmanovich * TextBox.cs: refactoring for NET_2_0: Text is removed from view state in case of need at SaveViewState phase. 2007-11-06 Igor Zelmanovich * ListControl.cs: SelectedValue/SelectedIndex is set during DataBinding always. 2007-11-06 Marek Habersack * DataGrid.cs: add RenderTable before the DataGridItems, so that numbering of children is the same what on MS.NET. If there are any data items, require a postback script. Fixes bug #319449 * ChildTable.cs: removed DOS EOLs. 2007-10-31 Igor Zelmanovich * Login.cs: does not perform authentication if Page.IsValid returns false; the fix makes control works with disabled client side validation. 2007-10-31 Igor Zelmanovich * DataList.cs: state of DataList.Items are restored correct on PostBack such Items.Count and ItemType. 2007-10-31 Igor Zelmanovich * BaseValidator.cs: validator is rendered correct if EnabledClientClient is false. 2007-10-30 Igor Zelmanovich * Image.cs: fixed management state of Enabled property. * WebControl.cs: refactoring in management state of Enabled property. 2007-10-23 Marek Habersack * ListBox.cs, Table.cs: use Render{Begin,End}Tag instead of the Write* counterparts when rendering contents. 2007-10-18 Marek Habersack * Menu.js: a workaround for an IE bug. IE recalculates element's offsetWidth when the element's _height_ is set - which in case of elements with overflowing content results in a value that's just slightly smaller than the client window width. In effect, a long submenu will also be very wide, which isn't desirable. Fixes bug #322809 2007-10-15 Marek Habersack * ObjectDataSourceView.cs: use HttpApplication.LoadType instead of Type.GetType. * BulletedList.cs: html encode the item text. Fixes bug #333550. 2007-10-01 Marek Habersack * ListItem.cs: make HasAttributes available for the 1.1 profile as well. * DropDownList.cs: render custom ListItem attributes in the 1.1 profile. Fixes bug #326288 2007-09-27 Marek Habersack * Button.cs: added missing OnPreRender method. 2007-09-25 Marek Habersack * WebControl.cs: added an internal method, BuildScriptAttribute, which merges the specified JavaScript code in an attribute, with the value of that attribute specified by the user. * CheckBox.cs, DropDownList.cs: AutoPostBack handling makes sure to preserve user-specified attribute value, if present. * ListBox.cs, TextBox.cs: AddAttributesToRender calls the base after doing its job. AutoPostBack handling makes sure to preserve user-specified attribute value, if present. Fixes bug #327816. 2007-09-21 Marek Habersack * ListItem.cs: don't save StateBag in the control state - the class is not serializable and therefore ObjectStateFormatter cannot convert it. Instead have the sb object save its own state and store the returned value. Fixes bug #326288. 2007-09-20 Marek Habersack * LoginView.cs: implemented RoleGroups support. Fixes bug #324633. 2007-09-19 Marek Habersack * GridView.cs: copy attributes from GridView to the child table, as this is where the rendering takes place. Fixes bug #326309. 2007-09-18 Marek Habersack * Calendar.cs: correctly apply day cell style. Fixes bug #315903 2007-09-17 Marek Habersack * Calendar.cs: style attribute value must be enclosed in quotes. * TableStyle.cs: do not capitalize the align styles. Fixes bug #313766. 2007-09-06 Igor Zelmanovich * ListControl.cs: partially restored r85314 whenever a property that can affect data binding is set, make sure to set RequiresDataBinding. 2007-09-06 Igor Zelmanovich * DataBoundControl.cs: fixed DataBind flow: prevent double binding when not necessary. fixed bug #81146 2007-08-31 Marek Habersack * GridView.cs: instead of not adding hidden fields to the rows, mark the cells they would contain as invisible. Fixes bug #82615. 2007-08-30 Igor Zelmanovich * Menu.cs: * Menu.js: make Menu work in multi form environment. 2007-08-30 Igor Zelmanovich * ListControl.cs: fixed selected items state management. 2007-08-30 Igor Zelmanovich * BaseCompareValidator.cs: * BaseValidator.cs: * CompareValidator.cs: * CustomValidator.cs: * RangeValidator.cs: * RegularExpressionValidator.cs: * RequiredFieldValidator.cs: all Validators use RegisterExpandoAttribute for not XHTML compliant attributes. 2007-08-23 Igor Zelmanovich * Panel.cs: client script consider MultiForm environment. 2007-08-21 Marek Habersack * ObjectDataSourceView.cs: get rid of PrivateBinPath property, it's unused. 2007-08-20 Marek Habersack * ContentPlaceHolderBuilder.cs: store place holder id in the parser's internal place holder id list for later reference. Fixes bug #82485. 2007-08-19 Vladimir Krasnov * BoundField.cs: FormatDataValue, refactored multiple use of ToString 2007-08-14 Marek Habersack * ObjectDataSourceView.cs: remove unused variable. * ChangePassword.cs: remove unused variable. The change password button id changed to "ChangePasswordPushButton", the cancel button id changed to "CancelPushButton". The change makes the generated ids the same what on MS.NET. Fixes bug #82418. * RoleGroupCollection.cs: OnValidate shouldn't be overridden. 2007-08-14 Vladimir Krasnov * ParameterCollection.cs: fixed IndexOfString, should use ordinal compare 2007-08-07 Vladimir Krasnov * Menu.cs: performance refactoring, used AddAttribute overload without encoding on known attribute values, optimized DynamicMenu rendering 2007-08-07 Vladimir Krasnov * TreeView.cs: refactoring, used AddAttribute overload without encoding on known attribute values, used Page.ClientScript.GetWebResourceUrl call instead of AssemblyResourceLoader.GetResourceUrl 2007-08-06 Igor Zelmanovich * AccessDataSource.cs: does not subscribed on view changed event. * ObjectDataSource.cs: fixed state management. * SqlDataSource.cs: fixed state management. 2007-08-05 Vladimir Krasnov * Button.cs, DataControlFieldHeaderCell.cs, FileUpload.cs, Table.cs, RegularExpressionValidator.cs, CheckBox.cs, HiddenField.cs, TableStyle.cs, Image.cs, BulletedList.cs, RangeValidator.cs, BaseValidator.cs, CustomValidator.cs, RepeatInfo.cs, TextBox.cs, RequiredFieldValidator.cs, AdRotator.cs, TableHeaderCell.cs, ImageMap.cs, Panel.cs, CompareValidator.cs, Calendar.cs, ListBox.cs, TableCell.cs, WebControl.cs, ImageButton.cs, TableItemStyle.cs: refactoring, used AddAttribute overload without encoding on known attribute values 2007-08-01 Igor Zelmanovich * DropDownList.cs: fixed onchange attibute. 2007-07-26 Vladimir Krasnov * ListItemCollection.cs: fixed LoadViewState, items restored from viewstate were not saved, fixes bug #82192 2007-07-24 Igor Zelmanovich * BaseValidator.cs: All client scripts are rendered according IsMultiForm property. 2007-07-24 Igor Zelmanovich * TreeView.cs: refactoring: * TreeView.js: used ClientScriptManager.GetCallbackEventReference API instead calling WebForm_DoCallback explicit. 2007-07-15 Igor Zelmanovich * BaseValidator.cs: for NET_2_0: fixed client side validation. validation is performed in WebForm_DoPostback, and there is no need to do it twice in ValidatorOnSubmit. 2007-07-15 Igor Zelmanovich * Calendar.cs: fixed: correct 'id' attribute is rendered. 2007-07-10 Vladimir Krasnov * ListItemCollection.cs: optimized SetDirty method 2007-07-05 Vladimir Krasnov * ListControl.cs: * ListItem.cs: * ListItemCollection.cs: controls based on ListControl should not save view state before than TrackViewState called 2007-07-04 Vladimir Krasnov * WebControl.cs: fixed AddDisplayStyleAttribute, returns if ControlStyle is not created 2007-07-02 Marek Habersack * WebControl.cs: Revert r80368, as it wasn't the correct fix. Fixes bug #81945. * ListControl.cs: if there are no items in the collection, do not return an empty ArrayList from GetSelectedIndicesInternal. Fixes bug #81945 and properly fixes bug #78533. * ListItemCollection.cs: if there are no items in collection, return null. 2007-07-01 Igor Zelmanovich * GridView.cs: the Pager is created but unvisible for only one page. the Patch submitted by Dumitru Ban [dban@dako.ro] 2007-07-01 Igor Zelmanovich * FormView.cs: * DetailView.cs: * GridView.cs: does not requires data binding if any ITemplate property is set. 2007-06-24 Vladimir Krasnov * CheckBox.cs: fixed Render, HasAttributes called instead Attributes.Count 2007-06-24 Igor Zelmanovich * GridView.cs: fixed AllowPaging feature: When the AllowPaging is true the GridView control should automatically hide the pager row when the data source contains fewer than 2 records. patch Patch submitted by Dumitru Ban [dban@dako.ro] 2007-06-20 Marek Habersack * WebControl.cs: if savedState is a Triplet, take the actual state data from savedState.First. Also make sure that the data is a Pair. Fixes bug #78533. * DataSourceCacheManager.cs: use HttpContext.Current.InternalCache to keep private entries. * XmlDataSource.cs: as above 2007-05-31 Vladimir Krasnov * BaseValidator.cs: RegisterValidatorCommonScript, fixed type passed to ClientScriptManager 2007-05-29 Igor Zelmanovich * ObjectDataSourceView.cs: * SiteMapDataSource.cs: * SqlDataSource.cs: * SqlDataSourceView.cs: DataSourceChanged and DataSourceViewChanged are raised in right case, when different properties changed their value. 2007-05-27 Igor Zelmanovich * ObjectDataSourceView.cs: fixed SelectMethod and SelectCountMethod properties: when changed, DataSourceViewChanged event is raised. * SqlDataSourceView: fixed SelectCommand property: when changed, DataSourceViewChanged event is raised. 2007-05-25 Marek Habersack * ObjectDataSourceView.cs: CreateDataObject must pay attention to TypeConverter attributes on the property being converted. 2007-05-24 Igor Zelmanovich * Menu.cs: fixed: alt attribute is rendered as well. 2007-05-16 Marek Habersack * CompareValidator.cs: formatting changes 2007-05-15 Marek Habersack * ObjectDataSourceView.cs: refactoring - use HttpApplication.LoadType to look up types. 2007-05-10 Marek Habersack * Table.cs: render rows, not controls * HyperLink.cs: RenderContents must check if the render method delegate is present and, if yes, call the base RenderContents. * LinkButton.cs: as above. * Label.cs: as above. * TableCell.cs: as above. This change makes the HeaderTemplate in the Wizard control work. * Wizard.cs: if a next/previous step handler modifies ActiveStepIndex do not, respectively, increase/decrease the current step, but use whatever was set in the handler. 2007-05-09 Marek Habersack * TreeNodeStyleCollection.cs: do not set font's underline flag to false, set it to its own value instead. * TreeView.cs: if level style exists and has ChildNodesPadding set, it takes precedence over the node style setting (if any). 2007-05-08 Marek Habersack * TreeView.cs: children padding is rendered only before and after the children are rendered, not between them. Also, render padding only if there are any nodes to follow the current one. 2007-05-07 Marek Habersack * Wizard.cs: additional checks to see whether the wizard needs to move to a next step or not. Fixes bug #81532. Patch sent by Mike Morano , thanks! 2007-05-07 Igor Zelmanovich * FormView.cs: fixed: avoid NullReferenceException when used EditTemplate w/o binding directive such Eval or Bind. 2007-05-07 Igor Zelmanovich * MenuItem.cs: fixed: when 'Value' property is not set, value of 'Text' property is used instead and vice versa. 2007-05-06 Igor Zelmanovich * TreeNode.cs: fixed: when 'Value' property is not set, value of 'Text' property is used instead and vice versa. 2007-05-04 Marek Habersack * AdRotator.cs: use the new GetPhysicalFilePath method to look up the physical path of the ad file. 2007-05-03 Marek Habersack * TreeView.cs: honor ChildNodesPadding of the NodeStyle. 2007-05-03 Igor Zelmanovich * ControlPropertyNameConverter.css: * FontUnitConverter.cs: * UnitConverter.cs: * ValidatedControlConverter.cs: added missing API. 2007-05-03 Marek Habersack * TreeNode.cs: correct version of the fix in r76488. Nodes retrieved from a navigation data source which have empty URL will not be selectable. * TreeView.cs: revert r76488, it wasn't entirely correct. I need to investigate the special cases it solved a bit more. 2007-05-02 Igor Zelmanovich * SqlDataSourceView.cs: make CancelSelectOnNullParameter property works. 2007-05-01 Marek Habersack * BaseValidator.cs: do not use User-Agent directly, we must take ClientTarget into account. 2007-04-30 Marek Habersack * TreeView.cs: bring rendering closer to the MS.NET rendering. * SqlDataSource.cs: do not catch the exception if ProviderName is not null or empty (as per docs and what MS.NET does). 2007-04-19 Igor Zelmanovich * ChangePassword.cs: does not accept invalid new password. 2007-04-18 Igor Zelmanovich * Xml.cs: * XmlDataSource.cs: added MonoLimitation attributes 2007-04-18 Igor Zelmanovich * BaseValidator.cs: for TARGET_J2EE: used Page.Request.Browser to determine RenderUplevel 2007-04-12 Igor Zelmanovich * GridView.cs: when databound with AutoGenerateColumns = true, data source enumerator created only once. 2007-04-18 Marek Habersack * SiteMapDataSource.cs: query the site map for the current node when configured to use it as the start point. Fixes bug #81376, patch from Mike Morano . * Calendar.cs: change year/month format to be culture aware. Fix for bug #81390. Patch submitted by Atsushi Enomoto 2007-04-17 Daniel Nauck * PasswordRecovery.cs: fixed typo (AnswerLabel.Text). 2007-04-17 Marek Habersack * BaseValidator.cs: use the new uplevel browser detection code. 2007-04-12 Igor Zelmanovich * SqlDataSourceView.cs: fixed: InitializeParameters: restored flow, broken in r75137. 2007-04-12 Igor Zelmanovich * Menu.cs: popup menu is posed correctly if menu is placed within container with position=relative 2007-04-12 Marek Habersack * LoginView.cs: do not call CreateChildControls directly from the IsAuthenticated setter since that would destroy the controls the user might've configured from their Page_PreRender method. Do not use IsAuthenticated in CreateChildControls since that prevents the _correct_ template from being instantiated before the control is transferred to the user's OnPreRender handler. Fixes bug #81344. 2007-04-11 Marek Habersack * ImageButton.cs: implement the Enable property and do not register for post back if the control isn't enabled. 2007-04-06 Marek Habersack * GridView.cs: don't render invisible fields. Fixes bug #80061. * DetailsView.cs: don't render invisible fields. 2007-04-05 Igor Zelmanovich * Menu.cs: resolve selected MenuItem if bounded with SiteMapeDataSource. 2007-04-05 Marek Habersack * BaseDataBoundControl.cs: restore the LAMESPEC note and code it describes - tests show this is what's happening on MS.NET as well. 2007-04-05 Igor Zelmanovich * GridView.cs: * BaseDataBoundControl.cs: Break recursion when the property is set from within the OnSelect handler in user's code. fixes bug #81175. 2007-04-05 Marek Habersack * SiteMapDataSource.cs: fix GetStartNode for situations when the current URL is not defined in the sitemap file. Fixes bug #81314. Patch from Mike Morano . 2007-04-03 Marek Habersack * BaseDataBoundControl.cs: adjust for lame specs on MSDN. 2007-04-02 Gert Driesen * MenuItem.cs: Use INavigateUIData.Description as ToolTip. Fixed line endings. 2007-03-29 Adar Wesley * ObjectDataSourceView.cs: fixed events so they are raized at the right times. Added many tests to verify the correct time. * SqlDataSourceView.cs: fixed events so they are raized at the right times. Added many tests to verify the correct time. 2007-03-28 Igor Zelmanovich * Menu.cs: * TreeView: avoid Exception if HierarchicalDataSourceView.Select() returns null. 2007-03-22 Igor Zelmanovich * ObjectDataSource.cs: * ObjectDataSourceView.cs: * SqlDataSource.cs: * SqlDataSourceView.cs: fixed flow: changes in Insert/Update/DeleteParameters does not cause DataSourceViewChanged event. 2007-03-20 Igor Zelmanovich * BaseDataBoundControl.cs: fix as per MSDN - the property is set only if data binding doesn't occur. 2007-03-20 Igor Zelmanovich * GridView.cs: fixed: PageIndex considers PageCount. 2007-03-20 Marek Habersack * DataBoundControl.cs: avoid endless recursion here. Fixes bug #81175 * LoginStatus.cs: render login/logout controls with the CssClass set from the parent control. Fixes bug #81196 2007-03-19 Igor Zelmanovich * DataGrid.cs: fixed Save/Load view state, applying styles. 2007-03-12 Igor Zelmanovich * Style.cs: optimization: used CssStyleCollection .ctor w/o parameters. 2007-03-09 Marek Habersack * Login.cs: Make command name comparison case-insensitive in OnBubbleEvent. Patch from Mike Morano 2007-03-06 Igor Zelmanovich * DataGrid.cs: fixed: Auto-generated columns are restored properly on postback from view state. 2007-03-06 Igor Zelmanovich * Style.cs: fixed: when AddAttributesToRender(System.Web.UI.HtmlTextWriter, WebControl) is called, WebControl parameter is passed as argument to FillStyleAttributes (CssStyleCollection, IUrlResolutionService) method. 2007-03-06 Igor Zelmanovich * DataList.cs: * DataListItem.cs: fixed applying styles if ExtractTemplateRows=true. 2007-03-05 Igor Zelmanovich * DropDownList.cs: in 2.0 first item is rendered with selected attribute is Enabled=false and no selected items. 2007-03-05 Igor Zelmanovich * CheckBoxList.cs: in 2.0 access key attribute is rendered in 'input' tags. 2007-03-05 Igor Zelmanovich * CheckBoxList.cs: * BulletedList.cs: * ListControl.cs: * ListItem.cs: * RadioButtonList.cs: fixed: list controls consider ListItem.Attributes property on render. 2007-03-05 Igor Zelmanovich * CheckBox.cs: fixed: 'span' tag is not rendered if all attributes are rendered in 'input' tag. 2007-03-05 Igor Zelmanovich * DropDownList.cs: * ListBox.cs: used "ONLY_1_1" instead "!NET_2_0" 2007-03-05 Igor Zelmanovich * BaseDataBoundControl.cs: * DataBoundControl.cs: * HierarchicalDataBoundControl.cs: refactoring: DataBoundControl and HierarchicalDataBoundControl use internal method in BaseDataBoundControl to find a data source control. 2007-03-05 Marek Habersack * Unit.cs: Support parsing of units in the form ".9em" etc. 2007-03-05 Igor Zelmanovich * TemplateColumn.cs: fixed: if ItemTemplate is null, " " is rendered. 2007-03-05 Marek Habersack * BaseValidator.cs: make validators work correctly with ListItems. Patch from Daniel Nauck 2007-03-04 Marek Habersack * HierarchicalDataBoundControl.cs: Use the method described below to get the data source named in DataSourceID. * BaseDataBoundControl.cs: add an internal method to find a data source control within all the naming containers above a given control. The method makes it possible to find controls that reside in master pages. 2007-03-01 Igor Zelmanovich * Repeater.cs: fixed: data-binding flow for 2.0 features. 2007-03-01 Igor Zelmanovich * Parameter.cs: * ParameterCollection.cs: fixed GetValue/s and UpdateValue/s. 2007-02-28 Igor Zelmanovich * TreeNodeCollection.cs: fixed Save/Load viewstate. 2007-02-28 Igor Zelmanovich * MenuItemCollection.cs: fixed Save/Load viewstate. 2007-02-28 Igor Zelmanovich * CreateUserWizard.cs: * Wizard.cs: fixed CausesValidaion and ValidationGroup for navigation buttons. 2007-02-27 Igor Zelmanovich * TreeNode.cs: * TreeView.cs: fixed LoadPostData to restore checked state for node's checkboxes. 2007-02-27 Igor Zelmanovich * TreeNodeCollection.cs: 'dirty' flag is assigned if 'marked' only 2007-02-27 Igor Zelmanovich * BaseDataBoundControl.cs: setting DataSource to null does not call ValidateDataSource. * HierarchicalDataBoundControl.cs: ValidateDataSource does not throw exception if argument is null. 2007-02-27 Igor Zelmanovich * WebControl.cs: implemented IsEnabled and HasAttributes. 2007-02-27 Igor Zelmanovich * BaseDataList.cs: fixed: data-binding flow for 2.0 features. 2007-02-27 Marek Habersack * FileUpload.cs: HasFile is true only if PostedFile is not null and it actually has an associated file. 2007-02-26 Igor Zelmanovich * LoginView.cs: fixed: ViewChanging and ViewChanged are fired. optimized Save/Load control state. 2007-02-26 Igor Zelmanovich * CreateUserWizard.cs: fixed: does not attempt to send email if MailDefinition is not defined. 2007-02-26 Igor Zelmanovich * Login.cs: fixed: considers FormsAuthentication.ReturnUrl only if is placed in the login page defined in web.config. 2007-02-23 Marek Habersack * ObjectDataSourceView.cs: Fix saving/restoring the view state. * CreateUserWizard.cs: support for sending mail when a new user is created. Patch from dban@dako.ro. 2007-02-22 Marek Habersack * LoginStatus.cs: Handle OnLoggedOut properly. Patch from dban@dako.ro. 2007-02-20 Adar Wesley * ObjectDataSourceView.cs: fixed ViewState behavior to match MS. Added relevant tests. 2007-02-20 Gert Driesen * Calendar.cs: Fixed bug #80881 by using Thread's CurrentCulture instead of CurrentUICulture for DateFormatInfo. 2007-02-20 Adar Wesley * SqlDataSource.cs: fixed ViewState behavior to conform to MS. Added relevant tests. * SqlDataSourceView.cs: fixed ViewState behavior to conform to MS. Added relevant tests. 2007-02-20 Igor Zelmanovich * ChangePassword.cs: fixed: ChangePasswordContainer and SuccessContainer cannot be BindingContainer. 2007-02-20 Adar Wesley * SqlDataSourceView.cs: Fixed parameter merging logic and some bug fixing. Added more tests. 2007-02-19 Igor Zelmanovich * CheckBox.cs: * ListControl.cs: * TextBox.cs: implemented Form.SubmitDisabledControls feature. 2007-02-18 Igor Zelmanovich * GridView.cs: IsBindableType for decimal returns true. 2007-02-18 Igor Zelmanovich * Menu.js: client script: support IE6. 2007-02-18 Igor Zelmanovich * Menu.cs: fixed: considers item.ToolTip, render image inside 'a' tag. 2007-02-18 Eyal Alaluf * Button.cs, ImageButton.cs, LinkButton.cs: Hanlding of PostbackOptions for TARGET_J2EE is now centralized in ClientScriptManager. * TreeView.cs, DetailsView.cs, GridView.cs, TreeView.js, DetailsView.js, GridView.js: Added a field to the controls JavaScript 'data' object. The form is initialized to the page 'theForm'. This is used for J2EE portlets callback support. 2006-02-18 Igor Zelmanovich * Wizard: fixed: first step is recognized as 'finish' if only two steps and last step is 'complete' 2006-02-15 Igor Zelmanovich * BaseValidator: ControlPropertiesValid is called on PreRender * CompareValidator.cs: * RangeValidator.cs: fixed ControlPropertiesValid, EvaluateIsValid. 2006-02-15 Igor Zelmanovich * BaseCompareValidator.cs: fixed: support for type=Currency on client side. 2007-02-05 Vladimir Krasnov * ParameterCollection.cs: fixed IndexOfString, this indexer should be case insensitive 2007-02-13 Igor Zelmanovich * TreeView.js: refactoring: removed TreeView_ErrorCallback, used TreeView_PopulateCallback instead. 2007-02-13 Adar Wesley * ObjectDataSourceView.cs: fixed parameter merging and added more tests 2007-02-12 Igor Zelmanovich * Literal.cs: implemented 2.0 feature - Mode. 2007-02-12 Igor Zelmanovich * ViewCollection.cs: fixed public API. 2007-02-12 Igor Zelmanovich * RepeaterItem.cs: implemented IDataItemContainer interface. 2007-02-12 Igor Zelmanovich * TreeNodeStyle.cs: fixed public API. 2007-02-12 Igor Zelmanovich * MenuItemStyle.cs: fixed public API. 2007-02-12 Igor Zelmanovich * Calendar.cs: * DayRenderEventArgs.cs: implemented 2.0 feature - SelectUrl. 2007-02-12 Igor Zelmanovich * GridViewRowCollection.cs: implemented IsReadOnly property. 2007-02-12 Igor Zelmanovich * BaseValidator.cs: implemented SetFocusOnError feature. 2007-02-11 Igor Zelmanovich * Wizard.cs: refactoring: used ContainedTable for ID attribute is rendered properly. 2007-02-11 Igor Zelmanovich * CreateUserWizard.cs: * Wizard.cs: fixed SideBar. 2007-02-11 Igor Zelmanovich * DataList.cs: fixed: OnBubbleEvent() will return true if event is handled 2007-02-09 Gert Driesen * FontUnit.cs: Fixed ToString () to use current locale. 2007-02-07 Igor Zelmanovich * BaseValidator.cs: fixed render, works in static mode properly * CreateUserWizard.cs: fixed display mode for validators. 2007-02-07 Igor Zelmanovich * FormView.cs: * FormViewPagerRow: implemented FormViewPagerRow class 2007-02-06 Igor Zelmanovich * DetailsView.cs: header and footer visibility is set at creation. 2007-02-06 Igor Zelmanovich * FormView.cs: fixed: header and footer are not created with empty row. 2007-02-06 Igor Zelmanovich * FormView.cs: fixed: works properly with not ICollection data source. 2007-02-06 Igor Zelmanovich * DetailsView.cs: fixed: PageIndex, CreateChildControls, works properly with not ICollection data source. 2007-02-06 Eyal Alaluf * Menu.cs ImageMap.cs Panel.cs TreeView.cs: Ensure that the NavigateUrl property is rendered as a RenderURL for J2EE portlets. 2007-02-05 Vladimir Krasnov * BaseValidator.cs: refactored RegisterValidatorCommonScript to use RegisterClientScriptInclude instead of RegisterClientScriptBlock 2007-02-05 Igor Zelmanovich * DataBoundControl.cs: * DetailsView.cs: * FormView.cs: PerformDataBinding is called with RequiresDataBinding was set false 2007-02-05 Igor Zelmanovich * FormView.cs: fixed validation flow. 2007-02-05 Igor Zelmanovich * DetailsView.cs: fixed validation flow. 2007-02-04 Igor Zelmanovich * CustomValidator.cs: ValidateEmptyText is considered on client side. 2007-02-04 Igor Zelmanovich * Button.cs: * ButtonField.cs: * CommandField.cs: * DataControlButton.cs: * DataControlField.cs: * ImageButton.cs: * PagerSettings.cs: Internal classes are used in databound controls for buttons are derived from right types. It allows to have access to them by casting to public types. This trick is used in one of starter kits of MS. 2007-02-04 Igor Zelmanovich * Panel.cs: fixed: reverted r71441. * TreeView.cs: used internal RegisterWebFormClientScript API to cause the relevant script be included. 2007-02-01 Adar Wesley * FormView.cs: fixed events ModeChanging and ModeChanged to be raized in all relevant situations. 2007-02-01 Igor Zelmanovich * ValidationSammary.cs: fixed: control is rendered even if there is no validators on the page. important if the page contain a client side script that refer to the id of the validation summary div. 2007-01-31 Igor Zelmanovich * CheckBoxList.cs: * DropDownList.cs: * ListBox.cs: * RadioButtonList.cs: EnsureDataBound is called when PostData is processed to restore 'state' of control if EnableViewState is false 2007-01-31 Igor Zelmanovich * GridView.cs: fixed: RowDataBound is fired for PagerRow. Styles are applied using MergeWith instead CopyFrom to allow using custom styles for rows in code-behind. 2007-01-31 Igor Zelmanovich * GridView.cs: fixed: RowCommand event is fired properly. 2007-01-31 Igor Zelmanovich * GridView.cs: fixed: created rows are added in table after initialization. * BoundField.cs: 2007-01-31 Igor Zelmanovich * Panel.cs: fixed 'background-image' attribute. 2007-01-31 Igor Zelmanovich * BaseDataBoundControl.cs: * DataBoundControl.cs: fixed DataBinding flow: RequiresDataBinding is set to false in PerformSelect(). * HierarchicalDataBoundControl.cs: implemented MarkAsDataBound(). 2007-01-31 Igor Zelmanovich * DetailsView.cs: * FormView.cs: fixed DataBinding flow for Insert mode. 2007-01-30 Igor Zelmanovich * CheckBox.cs: does not RegisterRequiresPostBack if is not enabled. 2007-01-30 Igor Zelmanovich * TreeView.cs: * TreeView.js: fixed PopulateOnDemand: used UniqueID to call WebForms_DoCallBack(). 2007-01-29 Igor Zelmanovich * MultyView.cs: OnActiveViewChanged is called. 2007-01-29 Vladimir Krasnov * Panel.cs: fixed AddAttributesToRender for 2.0, text align should be style attribute 2007-01-29 Adar Wesley * EditCommandColumn.cs: implemented CausesValidation and ValidationGroup and coresponding tests. * DataGrid.cs: fixed generated table to be compatible with MS 2.0 2007-01-28 Vladimir Krasnov * WebControl.cs: added internal method AddDisplayStyleAttribute for display:inline-block style attribute * LinkButton.cs * HyperLink.cs * CheckBox.cs: added call to AddDisplayStyleAttribute on rendering 2007-01-14 Eyal Alaluf * TreeView.js: Used WebForm_GetFormFromCtrl to lookup the form. 2007-01-24 Vladimir Krasnov * TextBox.cs: implemented AutoCompleteType property, fixed AddAttributesToRender 2007-01-24 Ilya Kharmatsky * DetailsView.cs: fixed problems with rendering of control, when empty data source is provided. Respective tests are provided in DetailsViewTest.cs 2007-01-21 Konstantin Triger * TreeView.js, DetailsView.js, Menu.js, GridView.js: suppress exception if eval() fails. 2007-01-20 Miguel de Icaza * DataControlFieldCollection.cs (RemoveAt): remove unused variable. * RoleGroupCollection.cs (OnValidate): Flag as protected, as it should not show up. * RadioButton.cs (RaisePostDataChangedEvent): This method was not used in 1.0, so put the whole method in 2.0 2007-01-18 Adar Wesley * Xml.cs: added support for XPathNavigator, fixed DocumentContent to be compatible with MS 2.0, implemented EnableTheming, implemented SkinID, fixed Focus behavior. 2007-01-18 Vladimir Krasnov * Menu.js, Menu.js: added null reference checking for every getTree or getMenu call 2007-01-18 Adar Wesley * SiteMapDataSource.cs: implemented logic of GetStartNode when StartingNodeOffset is positive. 2007-01-17 Konstantin Triger * BaseValidator.cs: ToString the validating property value or if null return an empty string. 2007-01-17 Vladimir Krasnov * TreeView.cs: fixed RegisterStyle, style names should be without leading underscore. fixed RenderNode, node icons should be taken also from level styles 2007-01-17 Adar Wesley * Repeater.cs: refactored GetData to return data both from DataSource and DataSrouceID, Implemented EnableTheming, updated initialization of DataBinding according to the pattern of BaseDataBoundControl, fixed SelectArguments implementation to call the virtual CreateDataSourceSelectArguments method. 2007-01-17 Konstantin Triger * GridView.cs: don't force creating rows collection when SelectedIndex changes; EnsureDatabound on select. 2007-01-17 Vladimir Krasnov * TreeNode.cs: fixed Bind, fixed Value updating 2007-01-17 Vladimir Krasnov * DataList.cs: fixed OnBubbleEvent, added SelectedIndex updating 2007-01-17 Vladimir Krasnov * DetailsView.cs: fixed CreateChildControls, PageIndex cannot be less than zero 2007-01-15 Vladimir Krasnov * DetailsView.cs: fixed CreateChildControls, PageIndex should be less or equal to PageCount 2007-01-15 Igor Zelmanovich * Menu.cs: added z-index attribute to popup div's. 2007-01-15 Vladimir Krasnov * FileUpload.cs: fixed FileName property, should return filename without full path on client side 2007-01-15 Ilya Kharmatsky * ListControl.cs * CheckBoxList.cs * ListBox.cs Implemented the protected net_2_0 method 'VerifyMultiSelect' with proper overloading in derived types. 2007-01-15 Igor Zelmanovich * TreeNode.cs considers INavigateUIData.NavigateUrl when bound. 2007-01-15 Igor Zelmanovich * CompleteWizardStep.cs * CreateUserWizard.cs * CreateUserWizardStep.cs * TemplatedWizardStep.cs * Wizard.cs make the design complied to .NET build all possible controls at once and manage render by Visible property 2007-01-14 Eyal Alaluf * Button.cs, HyperLink.cs, DataGrid.cs, ImageButton.cs, LinkButton.cs, PagedDataSource.cs: Added J2EE Portal support for TARGET_J2EE. 2007-01-14 Ilya Kharmatsky * BaseCompareValidator * CompareValidator Added support for CultureInvariantValues property, which should be counted in new 2.0 methods such as - Compare, Convert etc. The code has been changed in such way, that the old - 1.1 method implementation could use the new methods defined for 2.0 version. 2007-01-10 Konstantin Triger * XmlDataSource.cs: refactored to use cached collection. * SqlDataSource.cs: refactored to use cached collection; don't throw exception on 'DefaultView'. * ObjectDataSource.cs: refactored to use cached collection. 2007-01-10 Konstantin Triger * ObjectDataSourceView.cs: consider parameter names and DataObjectMethodAttribute during method resolution. 2007-01-11 Vladimir Krasnov * SqlDataSourceView.cs: fixed OnUpdating, OnInserting call with SqlDataSourceCommandEventArgs 2007-01-10 Konstantin Triger * ObjectDataSourceView.cs: use case unsensitive comparer for parameters collection. 2007-01-10 Igor Zelmanovich * LoginStatus.cs: fixed: not causes page validation. 2007-01-10 Igor Zelmanovich * CreateUserWizard.cs: fixed: resolves ErrorMessage control correct. * CreateUserWizardStep.cs: 2007-01-10 Igor Zelmanovich * TreeView.cs: fixed: SelectedNode, CheckedNodes. * TreeNode.cs: * TreeNodeCollection.cs: 2007-01-10 Igor Zelmanovich * GridView.cs: fixed: header and footer does not appear in no items. * CompositeDataBoundControl.cs: 2007-01-09 Konstantin Triger * AdRotator.cs: Backport the fix for AdRotator AbsoluteUri to 1.1. 2007-01-09 Igor Zelmanovich * GridView.cs: fixed: SelectedDataKey. 2007-01-09 Igor Zelmanovich * Panel.cs: * PanelStyle.cs: implemented 2.0 features. 2007-01-08 Vladimir Krasnov * SqlDataSourceView.cs: fixed parameters init for ExecuteUpdate 2007-01-08 Igor Zelmanovich * DataSourceCacheManager.cs: * ObjectDataSource.cs: * SqlDataSource.cs: fixed: cache considers parameters values changes. 2007-01-08 Vladimir Krasnov * DetailsView.cs: fixed DeleteItem, excluded keys for new values * SqlDataSourceView.cs: fixed ExecuteDelete, check cancel in OnDeleting event 2007-01-08 Igor Zelmanovich * GridView.cs: fixed: show all rows when AllowPaging=false 2007-01-08 Igor Zelmanovich * SqlDataSourceView.cs: fixed CreateDbParameter, used DBNull for value=null. 2007-01-08 Igor Zelmanovich * ButtonField.cs: fixed: consider its CausesValidation property. 2007-01-08 Igor Zelmanovich * GridView.cs: fixed: ReadOnly property is false for AutoGeneratedColumn if field is DataKey. causesValidation parameter is considered properly in UpdateRow. OldValues contains readonly fields values 2007-01-08 Vladimir Krasnov * SqlDataSourceView.cs: fixed InitializeParameters, added ParameterPrefix when check that param is already in collection 2007-01-07 Igor Zelmanovich * AdRotator.cs: fixed: considers absolute uri such html://...... 2007-01-07 Vladimir Krasnov * SqlDataSourceView.cs: fixed insert, delete, update methods, added calls to OnDataSourceViewChanged 2007-01-07 Vladimir Krasnov * added ProfileParameter.cs 2007-01-07 Igor Zelmanovich * Label.cs: fixed: according MSDN OnPreRender is not overridden. 2007-01-04 Adar Wesley * ImageButton.cs: implemented GenerateEmptyAlternateText 2007-01-04 Igor Zelmanovich * FormView.cs: fixed data binding flow considers Insert mode. 2007-01-04 Igor Zelmanovich * DataBoundControl.cs: fixed Init flow. 2007-01-4 Adar Wesley * RadioButtonList.cs: Implemented properties of IRepeatInfoUser as public virtual 2007-01-03 Marek Habersack * ObjectDataSourceView.cs: Look for unqualified type also in the top-level assemblies. 2006-01-03 Igor Zelmanovich * FormView.cs: fixed PageIndex property. 2006-01-03 Igor Zelmanovich * ListControl.cs: fixed SelectedValue and SelectedIndex properties. set accessor works differently in 2.0. 2007-01-02 Vladimir Krasnov * SqlDataSourceView.cs,ObjectDataSourceView.cs: fixed parameter merge when values and old values are null 2006-01-02 Igor Zelmanovich * ListControl.cs: reverted r70112, fixed in r70319. 2007-01-02 Igor Zelmanovich * DetailsView.cs: fixed CreateAutoGeneratedRows. 2007-01-01 Igor Zelmanovich * AutoGeneratedField.cs: is editable in Insest mode. * BoundField.cs: is editable in Insest mode. * CheckBoxField.cs: is editable in Insest mode. * DetailsView.cs: fixed DataBinding flow. 2007-01-01 Igor Zelmanovich * BaseDataBoundControl.cs: * CompositeDataBoundControl.cs: fixed DataBinding flow. 2006-12-31 Gonzalo Paniagua Javier * LinkButton.cs: show the validation summary when client validation and linkbuttons are used. Patch by Juraj Skripsky. 2006-12-31 Igor Zelmanovich * TextBox.cs: consider ToolTip property 2006-12-31 Igor Zelmanovich * ContainedTable.cs: * DataControlButton.cs: * DetailsView.cs: fixed EnablePagingCallbacks * DetailsView.js: * GridView.cs: * GridView.js: fixed EnableSortingAndPagingCallbacks 2006-12-28 Igor Zelmanovich * TreeView.cs: ResolveClientUrl used with LineImagesFolder, ExpandImageUrl, CollapseImageUrl and NoExpandImageUrl properties. 2006-12-28 Vladimir Krasnov * SqlDataSource.cs: Added parameters update on OnInit 2006-12-28 Vladimir Krasnov * LoginView.cs: fixed rendering LoggedInTemplate even after user logged out 2006-12-28 Igor Zelmanovich * DetailsView.cs: * GridView.cs: * FormView.cs: control's behavior depends on using DataSource or DataSourceID property for binding 2006-12-27 Igor Zelmanovich * CommandField.cs: fixed: when ShowEditButton=false Update/Cancel button doesn't appear. when ShowInsertButton=false Insert/Cancel button doesn't appear. 2006-12-27 Vladimir Krasnov * Login.cs: fixed AuthenticateUser, should redirect to ReturnUrl when 2006-12-27 Vladimir Krasnov * Parameter.cs: fixed ConvertValue to coorect handle TypeCode.Empty * ObjectDataSourceView.cs: fixed MergeParameterValues, call Parameter.ConvertValue fixed ConvertParameter to hanlde TypeCode.Empty * SqlDataSourceView.cs: fixed InitializeParameters, call Parameter.ConvertValue fixed ParameterPrefix property fixed CreateDbParameter, added usege of ParameterPrefix 2006-12-27 Igor Zelmanovich * ListControl.cs: fixed: when is used with DataSourceID data bind is not perfomed on PostBack because Items collection is restored from View state. 2006-12-26 Igor Zelmanovich * DataGridPagerStyle.cs: * DataList.cs: * DetailsView.cs: * FontInfo.cs: * Style.cs: * TableItemStyle.cs: * TableStyle.cs: * TreeNodeStyle.cs: * WebControl.cs: * Wizard.cs: fixed: Load/Save viewstate of WebControl does not call Load/Save viewstate for it's ControlStyle, but the shared ViewState is used to manage style's viewstate instead. 2006-12-21 Igor Zelmanovich * CompleteWizardStep.cs: * CreateUserWizard.cs: * CreateUserWizardStep.cs: * TemplatedWizardStep.cs: * Wizard.cs: fixed: CreateUserWizard works properly in advanced scenarios such being used with additional steps or/and with custom templates. Styles are aplied properly. 2006-12-21 Vladimir Krasnov * SqlDataSourceView.cs: fixed InitializeParameters, parameters order parameters case insensetive search * ObjectDataSourceView.cs: fixed MergeParameterValues, parameters case insensetive search 2006-12-19 Igor Zelmanovich * Menu.cs: fixed: ResolveClientUrl used with src and href attributes 2006-12-19 Igor Zelmanovich * TreeView.cs: * TreeNode.cs: TreeNodeCollapsed is not raised for leaf node. 2006-12-14 Vladimir Krasnov * DataGrid.cs, RepeatInfo.cs: fixed accessibility features 2006-12-17 Igor Zelmanovich * Calendar.cs: support DayNameFormat.Shortest 2006-12-17 Igor Zelmanovich * HiddenField.cs: implemented 2006-12-17 Igor Zelmanovich * FormView.cs: fixed: FillRowDataKey * DetailsView.cs: fixed: FillRowDataKey 2006-12-17 Igor Zelmanovich * TreeView.cs: fixed: ResolveClientUrl used with ImageUrl and NavigateUrl 2006-12-14 Vladimir Krasnov * Login.cs: refactored rendering, fixed OnAuthenticate event 2006-12-11 Igor Zelmanovich * GridView.cs: fixed: Update works not only for EditRow * TemplateField.cs: * CompositeDataBoundControl.cs: 2006-12-11 Igor Zelmanovich * RadioButton.cs: fixed: When GroupName is not defined UniqueID is used instead for name attribute. CheckedChanged is raised only when control is checked. 2006-12-10 Igor Zelmanovich * Menu.cs: fixed: rendering. 2006-12-10 Igor Zelmanovich * Menu.cs: fixed: rendering. 2006-12-10 Igor Zelmanovich * ListControl.cs: * ListBox.cs: * DropDownList.cs: fixed rendering for 2.0 2006-12-07 Igor Zelmanovich * DetaisView.cs: fixed: rendering. * DataControlButton.cs: * PagerSettings.cs: 2006-12-07 Igor Zelmanovich * FormView.cs: fixed: avoid empty row rendering. 2006-12-06 Igor Zelmanovich * AdRotator.cs: fixed: MSDN: The ImageUrl and NavigateUrl attributes can be a full URL, a root-relative path, or a relative path. If you use a root-relative path, the path is relative to the same Web site. If you use a relative path, the path is relative to the directory that contains the advertisement file. 2006-12-06 Igor Zelmanovich * BaseCompareValidator.cs: fixed: support for type=Date on client side. 2006-12-06 Igor Zelmanovich * TreeView.cs: fixed: support for event validation. 2006-12-04 Igor Zelmanovich * DataGridPagerStyle.cs: chenged values of DataGridPagerStyles flags. 2006-11-28 Gonzalo Paniagua Javier * CreateUserWizard.cs: implement GeneratePassword based on Membership. 2006-11-27 Vladimir Krasnov * Wizard.cs: fixed GetStepType method that returned wrong type if the last step type is Complete. fixed ProcessEvent method, corrected FinishButtonClick behavior 2006-11-26 Marek Habersack * Calendar.cs: Fixed event validation registration. Now it registers all the arguments that can be passed by this control to the application. 2006-11-25 Marek Habersack * FileUpload.cs: Implementation of SaveAs * TreeView.cs: A few optimizations for empty style collections. * Menu.cs: A few optimizations for empty style collections. 2006-11-23 Igor Zelmanovich * BoundField.cs: fixed: GetDesignTimeValue() 2006-11-23 Igor Zelmanovich * SiteMapDataSource.cs: fixed: GetViewNames() 2006-11-23 Vladimir Krasnov * ChangePassword.cs: implemented functionality * MailDefinition.cs: implemented CreateMailMessage method * PasswordRecovery.cs: implemented functionality 2006-11-22 Igor Zelmanovich * CircleHotSpot.cs: fixed: setting Radius with value <0 throws ArgumentOutOfRangeException. 2006-11-22 Igor Zelmanovich * CookieParameter.cs: fixed Evaluate method. 2006-11-22 Igor Zelmanovich * Parameter.cs: fixed Evaluate, ToString methods. * QueryStringParameter.cs: fixed Evaluate method. * SessionParameter.cs: fixed Evaluate method. 2006-11-21 Igor Zelmanovich * ImageMap.cs: fixed rendering. 2006-11-21 Igor Zelmanovich * HotSpot.cs: fixed: AccessKey and HotSpotMode throw ArgumentOutOfRangeException. 2006-11-21 Igor Zelmanovich * ControlParameter.cs: fixed: Evaluate method throws exceptions correctly. 2006-11-21 Igor Zelmanovich * CheckBox.cs: fixed: new 2.0 features such LabelAttributes and InputAttributes. 2006-11-20 Igor Zelmanovich * GridView.cs: fixed: header, footer and empty rows are databound. 2006-11-20 Igor Zelmanovich * Style.cs: added internal helper method RemoveTextStyles. 2006-11-20 Igor Zelmanovich * Button.cs: fixed: support for event validation. * CheckBox.cs: fixed: support for event validation. * FormView.cs: fixed: support for event validation. * ImageButton.cs: fixed: support for event validation. * ListBox.cs: fixed: support for event validation. * TextBox.cs: fixed: support for event validation. 2006-11-19 Igor Zelmanovich * DropDownList.cs: fixed: support for event validation. 2006-11-19 Igor Zelmanovich * LinkButton.cs: optimized: support for event validation. * DataControlButton.cs: Added support for event validation. * DetailsView.cs: fixed: RowIndex for DetailsViewRow. 2006-11-19 Igor Zelmanovich * LinkButton.cs: Added support for event validation. 2006-11-17 Marek Habersack * ImageButton.cs: Added support for event validation. * ListBox.cs: Added support for event validation. * Calendar.cs: Added support for event validation. * DropDownList.cs: Added support for event validation. * FormView.cs: Added support for event validation. * RadioButtonList.cs: Added support for event validation. * TextBox.cs: Added support for event validation. * BulletedList.cs: Added support for event validation. * CheckBox.cs: Added support for event validation. * Button.cs: Added support for event validation. 2006-11-16 Igor Zelmanovich * CreateUserWizard.cs: fixed: ActiveStepIndex property. 2006-11-15 Igor Zelmanovich * ListControl.cs: fixed: DataBinding for 2.0, for 1.x - refactoring only. 2006-11-14 Igor Zelmanovich * GridView.cs: fixed: Rows property, DataBinding flow. * DataBoundControl.cs: * BaseDataBoundControl.cs: 2006-11-14 Igor Zelmanovich * CompositeDataBoundControl.cs: fixed: DataBind call Controls.Clear(). 2006-11-13 Igor Zelmanovich * CompositeDataBoundControl.cs: fixed: DataBind sets ChildControlsCreated=true. 2006-11-13 Vladimir Krasnov * Login.cs: fixed CreateChildControls, throws exception if needed control not found * LoginView.cs: fixed CreateChildControls, check templates for null 2006-11-13 Vladimir Krasnov * Wizard.cs: fixed ActiveStepIndex property, fixed SideBar button rendering, fixed history updating * WizardStepCollection.cs: fixed implemented interfaces 2006-11-13 Vladimir Krasnov * XmlDataSource.cs: CacheKeyDependency fixed 2006-11-12 Igor Zelmanovich * DetailsView.cs: fixed: DataKeys, PageCount, DataBinding flow. 2006-11-09 Igor Zelmanovich * DetailsViewPagerRow.cs: fixed: must be not resolved as BindingContainer. 2006-11-09 Vladimir Krasnov * ParameterCollection.cs: fixed SetDirtyObject method * ObjectDataSource.cs, ObjectDataSourceView.cs: removed VievState utilization for control's properties, implemented caching * SqlDataSource.cs, SqlDataSourceView.cs: implemented caching 2006-11-09 Igor Zelmanovich * GridView.cs: fixed: DataKeys, PageCount, DataBinding flow. 2006-11-09 Igor Zelmanovich * DataBoundControl.cs: fixed: ConfirmInitState method s called by the DataBoundControl class in its OnLoad method. 2006-11-06 Igor Zelmanovich * FormView.cs: fixed: DataBinding flow. 2006-11-02 Igor Zelmanovich * CustomValidator.cs: implemented ValidateEmptyText fixture. 2006-11-02 Igor Zelmanovich * BaseCompareValidator.cs: fixed: CultureInvariantValues, Type properties. 2006-11-01 Igor Zelmanovich * Menu.cs: fixed: RenderEndTag. Dynamic menu is rendered when StaticDisplayLevels=1 2006-11-01 Igor Zelmanovich * GridView.cs: fixed: UpdateRow, DeleteRow, RowCreated. 2006-11-01 Igor Zelmanovich * FormView.cs: fixed: UpdateItem, DeleteItem. 2006-10-31 Igor Zelmanovich * DetailsView.cs: fixed: PageIndex, UpdateItem, InsertItem. 2006-10-29 Igor Zelmanovich * RadioButtonList.cs: fixed: has no html output when Items.Count=0. 2006-10-29 Igor Zelmanovich * ListControl.cs: fixed: setting SelectedVolue for 2.0. 2006-10-29 Igor Zelmanovich * DataBoundControl: fixed: ValidateDataSource allows null as dataSource. 2006-10-29 Igor Zelmanovich * ListControl.cs: fixed: assigning SelectedIndex with too hight value. 2006-10-29 Igor Zelmanovich * ListControl.cs: fixed: DataBinding for 2.0. for 1.x refactoring only. 2006-10-25 Igor Zelmanovich * ChangePassword.cs: new class was implemented. 2006-10-25 Igor Zelmanovich * EmbeddedMailObject.cs: new class was implemented. * EmbeddedMailObjectsCollection.cs: new class was implemented. * MailDefinition.cs: new class was implemented. 2006-10-24 Igor Zelmanovich * PagerSettings.cs: fixed: CreatePagerControl. 2006-10-24 Igor Zelmanovich * CommandField.cs: fixed: considers CaseValidation, ValidationGroup, ButtonType. * DataControlButton.cs: refactoring: 2006-10-24 Igor Zelmanovich * DetailsView.cs: implemented: GetCallbackScript method. 2006-10-23 Igor Zelmanovich * FormView.cs: fixed: IPostBackContainer.GetPostBackOptions method. 2006-10-30 Igor Zelmanovich * FormFiew.cs: fixed: UpdateItem, InsertItem. 2006-10-30 Igor Zelmanovich * FormFiew.cs: fixed: PageIndex, rendering. 2006-10-30 Igor Zelmanovich * DropDownList.cs: fixed: rendering "name" attribute". 2006-10-23 Igor Zelmanovich * GridView.cs: fixed: IPostBackContainer.GetPostBackOptions method. * DataControlButton.cs: * CommandField.cs: CausesValidation feature must be implemented other way 2006-10-23 Igor Zelmanovich * CompositeDataBoundControl.cs: fixed: CreateChildControls flow. 2006-10-18 Igor Zelmanovich * FormView.cs: fixed: OnBubbleEvent returns true when event is handled. 2006-10-18 Igor Zelmanovich * DetailsView.cs: fixed: OnBubbleEvent works properly. 2006-10-18 Igor Zelmanovich * DetailsView.cs: fixed: considers DataControlField.InsertVisible. 2006-10-18 Igor Zelmanovich * DetailsView.cs: fixed: CurrentMode property. 2006-10-18 Igor Zelmanovich * DetailsView.cs: fixed: current state are not changed during paging. 2006-10-18 Igor Zelmanovich * DetailsView.cs: fixed: in Insert mode Select not invoked from DataSource 2006-10-18 Konstantin Triger * ObjectDataSourceView.cs: use Type.GetType for loading full qualified types. 2006-10-17 Igor Zelmanovich * FormView.cs: fixed: CreateDataSourceSelectArguments method. (corresponding test does not work because bug in ObjectDataSourceView) 2006-10-17 Igor Zelmanovich * DataBoundControl.cs: fixed: DataBind calls CreateDataSourceSelectArguments() and stores result in SelectArguments 2006-10-17 Igor Zelmanovich * DetailsView.cs: * DetailsView.js: fixed: EnablePagingCallbacks feature. when postback is invoked after callback control state is restored properly. 2006-10-17 Vladimir Krasnov * SqlDataSource.cs, SqlDataSourceView.cs: redesign and bug fixes 2006-10-17 Igor Zelmanovich * DetailsView.cs: fixed: CreateDataSourceSelectArguments method. (corresponding test does not work because bug in ObjectDataSourceView) 2006-10-12 Igor Zelmanovich * GridView.cs: fixed: EnableSortingAndPagingCallbacks feature. when postback is invoked after callback control state is restored properly. 2006-10-12 Igor Zelmanovich * GridView.cs: fixed: Sorting feature. When sorting EditIndex and PageIndex are reseted 2006-10-12 Igor Zelmanovich * GridView.cs: fixed: Sorting feature. CreateDataSourceSelectArguments considers SortExpression and SortDirection. (corresponding test does not work because bug in ObjectDataSourceView) 2006-10-11 Igor Zelmanovich * GridView.cs: fixed: CreateDataSourceSelectArguments works according to MSDN. (corresponding test does not work because bug in ObjectDataSourceView) 2006-10-11 Igor Zelmanovich * ObjectDataSourceView.cs: fixed: CanRetrieveTotalRowCount returns true if EnablePaging = false 2006-10-10 Igor Zelmanovich * DataBoundControl.cs: fixed: DataBind flow CreateDataSourceSelectArguments() is called each time as DataBind() is called 2006-10-09 Igor Zelmanovich * BoundField.cs: implemented ValidateSupportsCallback(). 2006-10-09 Igor Zelmanovich * CommandField.cs: ValidateSupportsCallback(): exception's message. 2006-10-08 Igor Zelmanovich * FormView.cs: fixed: CurrentMode property. 2006-10-08 Igor Zelmanovich * FormView.cs: * GridView.cs: * DetailsView.cs: * PagerSettings.cs: reverted r66222, problem solved in r66283: command buttons inherit ForeColor 2006-10-06 Gonzalo Paniagua Javier * Image.cs: write 'alt' after 'src' so that the HyperLink test do not fail. 2006-10-05 Gonzalo Paniagua Javier * HyperLink.cs: don't render the img tag 'by hand' but use an Image instead, which takes care of the 0/0px case. Also set the ToolTip property. Fixes bug #79585. 2006-10-05 Igor Zelmanovich * DetailsView.cs: optimization for previous patch 2006-10-05 Igor Zelmanovich * FormView.cs: optimization for previous patch 2006-10-05 Igor Zelmanovich * DetailsView.cs: * DetailsViewRow.cs: implemented PrepareControlHierarchy() styles are applied correct 2006-10-05 Igor Zelmanovich * FormView.cs: implemented PrepareControlHierarchy() styles are applied correct 2006-10-05 Igor Zelmanovich * GridView.cs: * DataControlButton.cs: * DataControlField.cs: implemented PrepareControlHierarchy() styles are applied correct command buttons inherit ForeColor 2006-10-05 Igor Zelmanovich * WebControl.cs: fixed: CreateControlStyle() 2006-10-04 Igor Zelmanovich * FormView.cs: * GridView.cs: * DetailsView.cs: * PagerSettings.cs: corrected pager rendering: Color style applied to A tag, Input type="image" used if ImageUrl is not empty. 2006-10-04 Igor Zelmanovich * GridView.cs: corrected rendering * ContainedTable.cs: added new helper class 2006-10-03 Igor Zelmanovich * FormView.cs: fixed: in Insert mode Select not invoked from DataSource 2006-10-03 Igor Zelmanovich * FormView.cs: fixed: Pager is not shown when page count < 1 in Edit mode use EmptyDataTemplate if there is no DataItem when page changed FormView stays in current state. 2006-09-28 Igor Zelmanovich * FormView.cs: fixed: OnBubbleEvent works properly 2006-09-25 Igor Zelmanovich * DataBoundControl.cs: fixed: DataBind flow GetData return "empty" DataSourceView when no DataSource and DataSourceID was assigned to cause PerformDataBinding be called. 2006-09-24 Gonzalo Paniagua Javier * DataList.cs: use ExtractTemplateRows to determine if the style is applied to the Table in a template or to its rows. Fixes bug #78058. 2006-09-20 Gonzalo Paniagua Javier * ListBox.cs: if the list is not enabled, don't require a postback. Fixes bug #79445. 2006-09-20 Gonzalo Paniagua Javier * HyperLink.cs: don't output the nabvigate url if disabled. * LinkButton.cs: always call base.AddAttributesToRender(). Don't output the link URL if disabled. Fixes bug #79443. 2006-09-19 Igor Zelmanovich * RadioButtonList.cs: make it to consider CausesValidation and ValidationGroup properties 2006-09-19 Igor Zelmanovich * CheckBoxList.cs: make it to consider CausesValidation and ValidationGroup properties 2006-09-19 Igor Zelmanovich * RadioButton.cs: Page.Validate() is called when CausesValidation=true 2006-09-19 Igor Zelmanovich * CheckBox.cs: make onclick attribute to consider ValidationGroup property. 2006-09-18 Igor Zelmanovich * BulletedLis.cs: make rendering of the href attribute to consider ValidationGroup property. Page.Validate() is called when CausesValidation=true 2006-09-18 Igor Zelmanovich * ListBox.cs: make rendering of the onchange attribute to consider ValidationGroup property. Page.Validate() is called when CausesValidation=true 2006-09-18 Igor Zelmanovich * DropDownList.cs: make rendering of the onclick attribute to consider ValidationGroup property Page.Validate() is called when CausesValidation=true 2006-09-18 Igor Zelmanovich * ListControl.cs: VewState saving and restoring rolled back to 1.1 implementation (fixed corresponding test), corrected public interface (there are no overriden methods SaveControlState, LoadControlState and OnInit), implemented CausesValidation and ValidationGroup properties. 2006-09-18 Igor Zelmanovich * TextBox.cs: make rendering of the onclick attribute to consider ValidationGroup property Page.Validate() is called when CausesValidation=true 2006-09-14 Igor Zelmanovich * LinkButton.cs: implemented: RaisePostBackEvent, refactoring: GetPostBackOptions used to build onclick client event 2006-09-14 Igor Zelmanovich * ImageButton.cs: implemented IButtonControl.Click, RaisePostBackEvent 2006-09-14 Igor Zelmanovich * BaseValidator.cs: implemented ValidationGroup feature on client side * ValidationSummary.cs: 2006-09-12 Igor Zelmanovich * TreeView.cs: corrected rendering * TreeNode.cs: 2006-09-11 Konstantin Triger * Login.cs: ensure the urls are correctly resolved. 2006-09-10 Igor Zelmanovich * TreeView.cs: corrected rendering: styles are applied correct * TreeNode.cs: * TreeNodeStyle.cs: 2006-09-10 Igor Zelmanovich * TreeView.cs: corrected rendering: HoverNodeStyle works * TreeNode.cs: * TreeView.js: 2006-09-10 Igor Zelmanovich * TreeNodeStyle.cs: fixed: ViewState restored properly 2006-09-10 Igor Zelmanovich * Style.cs: * TableStyle.cs: * TableItemStyle.cs: * DataGridPagerStyle.cs: refactoring: makes Style class more flexible for inheriting and reuse 2006-09-10 Igor Zelmanovich * TreeView.cs: fixed: for PopulateOnDemand nodes expanded and checked state restored correct on PostBack. * TreeView.js 2006-09-08 Gonzalo Paniagua Javier * ObjectDataSourceView.cs: correctly find the type when it is not in the executing assembly. Fixes bug #78321. Patch by Marek Habersack. 2006-09-08 Gonzalo Paniagua Javier * ControlParameter.cs: fix search for controls so that they use their NamingContainer, not the Page. Patch by Marek Habersack that fixes bug #78320. 2006-09-08 Gonzalo Paniagua Javier * Login.cs: fix problem with the login control and master pages. Patch by Marek Habersack that fixes bug #78219. 2006-09-07 Igor Zelmanovich * TreeView.cs: fixed: populating nodes. * TreeView.js 2006-09-07 Igor Zelmanovich * TreeNode.cs: fixed: ToggleExpandState. 2006-09-07 Andrew Skiba * SqlDataSourceView.cs: return DataView from ExecuteSelect when DataSourceMode is DataSet. 2006-09-06 Igor Zelmanovich * TreeView.cs: fixed: populating nodes flow. * TreeNodeCollection.cs * TreeNode.cs 2006-09-06 Igor Zelmanovich * TreeNodeCollection.cs: fixed: ViewState saved and restored correct. 2006-09-06 Igor Zelmanovich * TreeView.cs: corrected rendering: RenderBeginTag, RenderEndTag. 2006-09-06 Igor Zelmanovich * TreeView.cs: fixed: when specified value is not one of the TreeNodeTypes values exception is threw. 2006-09-06 Igor Zelmanovich * TreeView.cs: fixed: when specified image set is not one of the TreeViewImageSet values exception is threw. 2006-09-05 Igor Zelmanovich * TreeNodeStyleCollection.cs: fixed: ViewState saved and restored correct. 2006-09-04 Igor Zelmanovich * Style.cs: implemented SetBit(). 2006-09-03 Igor Zelmanovich * CompareValidator.cs: fixed controltocompare attribute. 2006-09-03 Igor Zelmanovich * Login.cs: fixed: when login attempt was not successful FailureText is shown. 2006-08-31 Igor Zelmanovich * CreateUserWizard.cs: fixed: InvalidPasswordErrorMessage is formatted correct. 2006-08-31 Igor Zelmanovich * CreateUserWizard.cs: * CompleteWizardStep.cs: * CreateUserWizardStep.cs: * Wizard.cs: fixed: ContinueButtonClick occurs when the user clicks the Continue button in the final user account creation step. ContinueDestinationPageUrl - redirected after clicking the Continue button on the success page. 2006-08-30 Igor Zelmanovich * Wizard.cs: refactoring: Button, ImageButton and LinkButton are used insted internal DataControlButton. 2006-08-30 Igor Zelmanovich * Button.cs: implemented GetPostBackOptions + refactoring 2006-08-30 Igor Zelmanovich * ImageButton.cs: implemented 2.0 features OnClientClick attached to onclick attribute. PostBackUrl, CausesValidation, ValidationGroup - used PostBackOptions generate onclick attribute. 2006-08-30 Igor Zelmanovich * LinkButton.cs: typo fix 2006-08-30 Igor Zelmanovich * Button.cs: refactoring 2006-08-30 Igor Zelmanovich * LinkButton.cs: implemented 2.0 features OnClientClick attached to onclick attribute. PostBackUrl, CausesValidation, ValidationGroup - used PostBackOptions for href attribute. 2006-08-29 Igor Zelmanovich * Button.cs: implemented 2.0 features 2006-08-28 Igor Zelmanovich * Menu.cs: refactoring * Style.cs: 2006-08-27 Igor Zelmanovich * TreeView.cs: fixed data binding 2006-08-27 Igor Zelmanovich * TreeNodeBinding.cs: fixed ToString method 2006-08-27 Igor Zelmanovich * MenuItem.cs: typo fix 2006-08-27 Vladimir Krasnov * CreateUserWizardStep.cs: fixed validators message display 2006-08-25 Kornél Pál * FileUpload.cs: Use assembly name constants. 2006-08-08 Vladimir Krasnov * TemplateField.cs: fixed ExtractValuesFromCell, .net aspx parser not always creates ExtractTemplateValuesMethod delegate 2006-08-24 Igor Zelmanovich * TreeNodeBinding.cs: corrected public interface * TreeNodeStyle.cs: 2006-08-23 Gonzalo Paniagua Javier * TextBox.cs: fix for bugs #76771 and #79020. A test breaks for the 2.0 case, but there are many others. 2006-08-23 Igor Zelmanovich * Menu.cs: corrected rendering of static and dynamic items * Menu.js: 2006-08-23 Igor Zelmanovich * Style.cs: * FontInfo.cs: fixed: AddAttributesToRender method calls FillStyleAttributes, text styles applied correct. 2006-08-23 Igor Zelmanovich * FontInfo.cs: fixed: when removed the names from the bag also removed FontStyles.Names flag from fontstyles. refactoring: Name and Names properties has same source in bag. 2006-08-23 Igor Zelmanovich * Style.cs: restored r63894: for 1.x is refactoring only 2006-08-22 Igor Zelmanovich * FontInfo.cs: fixed: CopyFrom and MergeWith behave differently between 1.1 and 2.0. added ClearDefaults method for 2.0. 2006-08-08 Vladimir Krasnov * ObjectDataSourceStatusEventArgs.cs: ExceptionHandled default value should be false 2006-08-22 Igor Zelmanovich * SubMenuStyle.cs: fixed: Unit.ToString() already include unit (e.g. "3px") 2006-08-18 Gonzalo Paniagua Javier * Style.cs: * ChangeLog: revert r63894. It modified the 1.x profile, it wasn't submitted for review and it only added tests for the 2.0 profile. 2006-08-08 Vladimir Krasnov * FormView.cs: added explicit implementation of IDataItemContainer.DataItemIndex, as documented 2006-08-17 Igor Zelmanovich * Style.cs: fixed: When style is registered with StyleSheet AddAttributesToRender method adds class attribute but not style to writer 2006-08-15 Igor Zelmanovich * Menu.cs: fixed: OnBubleEvent works properly - controls like Button, LinkButton nested into template can raise MenuItemClick event, ViewState of Items saved and restored properly. 2006-08-14 Andrew Skiba * TableStyle.cs: replace ResolveUrl with ResolveClientUrl to match MS.NET's behaviour. 2006-08-14 Igor Zelmanovich * Menu.cs: fixed databinding feature: ensure that items initialization occurs only once 2006-08-10 Igor Zelmanovich * Menu.cs, MenuItem.cs: fixed databinding feature 2006-08-09 Robert Jordan * DataControlButton.cs, Image.cs, AdRotator.cs, HyperLink.cs: replace ResolveUrl with ResolveClientUrl to match MS.NET's behaviour. Fixes bug #77539. 2006-08-09 Igor Zelmanovich * HierarchicalDataBoundControl.cs: fixed DataBind flow 2006-08-08 Vladimir Krasnov * Content.cs: * Label.cs: * ListControl.cs: * MultiView.cs: * WebControl.cs: fixed ParseChildren attribute to be compliant to .net 2006-08-03 Vladimir Krasnov * MultiView.cs: fixed: EnableTheming property 2006-08-03 Gonzalo Paniagua Javier * Style.cs: * Label.cs: * TreeView.cs: Patch by Marek Habersack that fixes bug #78968 take 2. 2006-08-03 Vladimir Krasnov * Style.cs: fixed restoring FontInfo from ViewState 2006-08-03 Vladimir Krasnov * XmlDataSource.cs: implemented caching functionality 2006-07-31 Gonzalo Paniagua Javier * PagerSettings.cs: Fixed the pager range calculation formula. The old one didn't work with more than 20 pages. Patch by Marek Habersack that closes bug #78328. 2006-07-30 Andrew Skiba * FormView.cs: fixes to make Render more similar to dotnet. 2006-07-30 Vladimir Krasnov * Wizard.cs: fixed return value of OnBubbleEvent 2006-07-30 Andrew Skiba * FormView.cs: init BottomPagerRow.ItemIndex with 0; gracefully handle null result of GetData(). 2006-07-30 Andrew Skiba * FormView.cs: use TableStyle for ControlStyle. 2006-07-30 Andrew Skiba * FormView.cs: save DataKeyNames and DefaultMode in ControlState. 2006-07-30 Andrew Skiba * FormView.cs: init DataKeys and fix null reference. 2006-07-28 Gonzalo Paniagua Javier * TreeView.cs: several changes to improve compatibility with MS. Patch by Marek Habersack that fixes bug #77551. 2006-07-28 Gonzalo Paniagua Javier * Style.cs: output the text-decoration value even when it is 'none'. Patch by Marek Habersack that fixes bug #78968. 2006-07-27 Andrew Skiba * FormView.cs: initialize PageCount with 0; fix IsBindableType to include Decimal. 2006-07-27 Andrew Skiba * DetailsViewRowCollection.cs: returns this in SyncRoot. 2006-07-27 Andrew Skiba * FormView.cs: throw ArgumentOutOfRange exception on bad CellSpacing and CellPadding. 2006-07-27 Andrew Skiba * ObjectDataSource.cs: add doc and fix usage of MergeParameterValues 2006-07-27 Andrew Skiba * AutoGeneratedField.cs: fix the internal constructor according to test DetailsView_CreateAutoGenerateRow. 2006-07-26 Vladimir Krasnov * XmlDataSource.cs: implemented XSLT, removed properties from view state * XmlDataSourceView.cs: fixed default xpath 2006-07-26 Andrew Skiba * DetailsView.cs: fix IsBindableType in accordance with MSDN and tests. 2006-07-25 Vladimir Krasnov * Wizard.cs: fixed ActiveStep property fixed templated side bar 2006-07-25 Andrew Skiba * ImageField.cs: fix null reference bug. 2006-07-25 Andrew Skiba * DetailsView.cs: init DataKey property with empty collection. * DataKey.cs: fix unexpected exception bug. * DataControlField.cs: override ToString according to MSDN. 2006-07-24 Andrew Skiba * DetailsView.cs: create table style in CreateControlStyle. 2006-07-24 Andrew Skiba * DetailsView.cs: don't throw the exception which .Net does not throw. 2006-07-24 Andrew Skiba * DetailsView.cs: save DefaultMode and DataKeyNames in control state, to match .Net; fix PageCount to match record count. 2006-07-24 Vladimir Krasnov * Menu.cs: fixed properties default values, fixed rendering SkipLinkText 2006-07-23 Vladimir Krasnov * Wizard.cs: implemented SkipLinkText, TagKey fixed rendering bugs, fixed templated button bar rendering fixed side bar rendering * WizardStepBase.cs: fixed Name property 2006-07-23 Andrew Skiba * DetailsView.cs: fix the regressions, caused by the previous commit. 2006-07-23 Andrew Skiba * DetailsView.cs: correct handling the different default values of DetailsView.CellSpacing and Table.CellSpacing. 2006-07-23 Andrew Skiba * DetailsView.cs: create a pager row when needed. 2006-07-21 Gonzalo Paniagua Javier * DetailsView.cs: * GridView.cs: * PagedDataSource.cs: * FormView.cs: * ImageButton.cs: * LinkButton.cs: implement GetPostBackOptions for the 2.0 controls that support it. The GridView control will no longer throw an exception when rendered in the paging mode. Patch by Marek Habersack. Fixes bug #78288. 2006-07-20 Andrew Skiba * DetailsView.cs: many fixes: initialize PageCount with 0; initialize Rows with empty collection; call EnsureChildControls from get Row; NullReference in DeleteItem; fix RenderGrid (ideas from GridView); implemented IPostBackContainer.GetPostBackOptions. 2006-07-20 Andrew Skiba * DetailsView.cs: create HeaderRow and FooterRow even when HeaderText and FooterText are empty, to match .NET. Otherwise we have NullReference when .NET does not. 2006-07-20 Andrew Skiba * DetailsView.cs: Render fix. 2006-07-20 Andrew Skiba * BoundField.cs: don't call DataBinder.GetPropertyValue with empty property name. 2006-07-20 Andrew Skiba * DetailsView.cs: NullReferenceException fix 2006-07-20 Vladimir Krasnov * PagerSettings.cs: implemented PropertyGhanged event 2006-07-18 Andrew Skiba * DetailsView.cs: throw ArgumentOutOfRangeException for compatibility with .Net; don't throw NotImplemented when base class implementation is available. 2006-07-18 Andrew Skiba * DetailsViewPagerRow.cs: add a stub for this class 2006-07-17 Vladimir Krasnov * GridView: fixed DataKeyNames property, moved to ControlState fixed PageCount property, initial PageCount ahould be zero fixed SelectedDataKey, should throw exception if not initialized fixed CreateColumns, wrong order of columns fixed CreateControlStyle, fixed InitializePager, no columnspan attrib on only one column fixed LoadControlState, SaveControlState added DataKeyNames fixed Render, RenderGrid should render within div tag implemented GetPostBackOptions * DataControlButton.cs: fixed Render, fixed style for img button 2006-07-17 Vladimir Krasnov * CheckBoxField.cs: fixed InitializeDataCell, tooltip only in edit mode 2006-07-17 Andrew Skiba * CommandField.cs: fixed ValidateSupportsCallback 2006-07-17 Andrew Skiba * Image.cs: prepare to use HttpBrowserCapabilities. Does not affect the flow yet. 2006-07-17 Andrew Skiba * SiteMapPath.cs: fixes for SiteMapPathTest.Render_xxx tests. 2006-07-16 Andrew Skiba * WebControl.cs: fix for AddAttributesToRender - add display style when appropriate 2006-07-16 Vladimir Krasnov * CommandField.cs: fixed InitializeCell, wrong order of command buttons * ImageField.cs: image field with null src and ConvertEmptyStringToNull should be rendered as label * BoundField.cs: empty null value should be rendered as nbsp * GridViewRowCollection.cs: fixed SyncRoot 2006-07-16 Andrew Skiba * SiteMapPath.cs: create Literal instead of Label according to the MSDN and test SiteMapPath_InitializeItem. 2006-07-16 Vladimir Krasnov * Style.cs: BorderStyle should be added if BorderWidth greater than 0 * Image.cs: in 2.0 there is no border attribute, but border-width style attribute 2006-07-14 Gonzalo Paniagua Javier * Button.cs: always render the 'name' attribute. Fixes bug #78746. 2006-07-13 Gonzalo Paniagua Javier * DataList.cs: correctly initialize editable items when there's an EditItemTemplate. Patch by JarosÅ‚aw Pawlak. 2006-07-13 Juraj Skripsky * CheckBox.cs (LoadPostData): the value of a disabled checkbox remains unchanged. 2006-07-13 Vladimir Krasnov * BulletedList.cs: fixed Render, RenderBulletText, various properties * ListItem.cs, ListItemCollection.cs: added Enabled property that is new in 2.0 2006-07-12 Vladimir Krasnov * MultiView.cs: 'initied' state variable was changed to views count in the views collection. 2006-07-11 Vladimir Krasnov * AutoGeneratedField.cs: fixed InitializeDataCell, autogenerated checkbox should have tooltip * HyperLinkField.cs: fixed InitializeCell, should create link control only in data cell (not in header or footer), initialization of ControlStyle * ImageField.cs: fixed InitializeDataCell, initialization of ControlStyle 2006-07-11 Vladimir Krasnov * MultiView.cs: removed exception throwing from ActiveViewIndex 2006-07-11 Konstantin Triger * DataControlFieldCollection.cs: added OnClearComplete override; refactor to eliminate null reference exception. 2006-07-11 Vladimir Krasnov * MultiView.cs: fixed ActiveViewIndex, AddParsedSubObject * View.cs: fixed Visible property 2006-07-09 Konstantin Triger * ImageField.cs: fixing .net compliancy. 2006-07-10 Andrew Skiba * SiteMapPath.cs: fix the default PathSeparator value. 2006-07-06 Konstantin Triger * GridView.cs: always create Header/Fotter rows, but render only when ShowHeader/Footer is true. Compute Header/Footer rows from rows collection. * CheckBoxField.cs: add override to ApplyFormatInEditMode, add ToolTip and Text to the created CheckBox, wrap exception thrown in OnDataBindField in httpException. 2006-07-06 Konstantin Triger * DataControlField.cs,BoundField.cs: bug fixes found by BoundFieldTest. 2006-07-05 Konstantin Triger * DataControlField.cs: correct handling empty header/footer text. * TemplateField.cs: correct initialization according to DataControlRowState. 2006-07-05 Vladimir Krasnov * Wizard.cs: added functionality for Templated WizardStep and CreateUserWizard * added CompleteWizardStep.cs, CreateUserWizard.cs, CreateUserWizardStep.cs, TemplatedWizardStep.cs 2006-07-05 Konstantin Triger * AutoGeneratedField.cs: correcting default dataType. 2006-07-03 Vladimir Krasnov * DataControlField.cs: fixed Initialize, should always return false 2006-07-03 Lluis Sanchez * BoundField.cs: Fix setter for HtmlEncode (it was setting always True). 2006-07-03 Konstantin Triger * DataBoundControl.cs: implement MarkAsDataBound and consider it while setting RequiresDataBinding in OnLoad event. * GridView.cs: DataBind rows before other control can access the data. * BoundField.cs: add unique ID to control for postback parameters. 2006-07-03 Konstantin Triger * WebControl.cs: fix typo in EnableTheming. 2006-07-02 Konstantin Triger * MenuItemCollection.cs: save items if the collection is dirty. * MenuItem.cs: During data binding: initialize Text and invoke binding recoursively. Add item to collection before binding to let the state be correctly tracked. * Menu.cs: Add item to collection before binding to let the state be correctly tracked. 2006-06-28 Juraj Skripsky * RegularExpressionValidator.cs (EvaluateIsValid): wrap regex to test against with "^...$" if necessary. MS.NET does this too. 2006-06-28 Vladimir Krasnov * WizardStepCollection.cs: Fixed Add methods to initialize WizardStep.Wizard property * Wizard.cs: Fixed ActiveStepIndex, it should be -1 if there no steps Fixed GetStepType, if only one step present, it should be FinishStep Fixed styles of tables for more accurate rendering, fixed Wizard buttons order 2006-06-28 Konstantin Triger * FormView.cs: instantiate correct template when the bounding data source is empty. 2006-06-25 Konstantin Triger * FormView.cs: disabling setting out of range FormView.PageIndex. 2006-06-21 Andrew Skiba * FileUpload.cs: added 2006-06-20 Andrew Skiba * FormView.cs: handle CssClass attribute 2006-06-14 Gonzalo Paniagua Javier * Button.cs: do something in PostBackUrl. * Repeater.cs: when creating the RepeaterItemCollection, initialize 'items' if it hasn't been done yet. Fixes bug #78417. 2006-06-14 Vladimir Krasnov * BaseDataList.cs: added ConnectToDataSource method that called from OnLoad, fixed GetData method * Wizard.cs: fixed bug when called MoveTo after that control hierarchy has been created 2006-06-14 Andrew Skiba * Menu.cs: add CssStyle value to the rendered class attribute 2006-06-13 Juraj Skripsky * Calendar.cs: Make sure WebControls.Enabled is respected. * SelectedDatesCollection.cs: Set time for all DateTime object passed in to 12:00am as MS.NET does the same. Fixes bug #71251. 2006-06-13 Vladimir Krasnov * Repeater.cs: fixed ConnectToDataSource method, subscribed to DataSourceViewChanged, looks for a datasource in its parent control fixed GetData method, should not get data if datasource is null 2006-06-13 Konstantin Triger * ObjectDataSourceView.cs: raise OnDataSourceViewChanged events when data changes. 2006-06-11 Konstantin Triger * GridView.cs: set the row index from GridRowView if CommandArgument does not contain this information. 2006-06-11 Konstantin Triger * ObjectDataSourceViewTest.cs: return documented default for OldValuesParameterFormatString. 2006-05-24 Vladimir Krasnov * DataList.cs: Fixed LoadViewState method 2006-05-04 Lluis Sanchez * BoundField.cs: Added missing throw kyword. Patch by Marek Habersack. 2006-04-25 Konstantin Triger * BaseDataBoundControl.cs: ensure the control is bound if ViewState is disabled. 2006-04-25 Konstantin Triger * FormView.cs: fix FormView.PageCount after data binding. 2006-04-24 Gonzalo Paniagua Javier * CheckBox.cs: certain attributes have to be rendered in the input tag, not the . Fixes bug #71251. 2006-04-20 Konstantin Triger * BaseDataBoundControl.cs: RequiresDataBinding rebinds if the control prerendered. * FormView.cs: enable binding. ensure rebinding when FormView.PageIndex is called. and bind to the correct PageIndex. 2006-04-20 Konstantin Triger * MenuItem.cs: when binding to IHierarchyData, check whether it implements INavigateUIData and retrieve NavigateUrl. * CompositeDataBoundControl.cs: ensures data is bound before creating child controls. * Menu.cs: Enable DataBinding by not throwing NotImplementedException in OnDataBound event. Provide basic CreateChildControls implementation by ensuring the control is bound. Ensure the child controls are created when the postback event is raised. Provide default implementation for SkipLinkText to let the default functionality to work. 2006-04-11 Lluis Sanchez * TreeNodeBinding.cs: Added HasPropertyValue property to check if some properties have a value in the state bag. * TreeNode.cs: Lazily get the dataPath. Instead of getting bound properties when they are requested, get all of them when the node is bound and store their values in the state bag. In this way it won't be necessary to query every time the datasource to get the values. * XmlHierarchyData.cs: Implemented IHierarchyData.Path. * TreeView.cs: Call base in OnInit(). Bind nodes after adding them to the list, to properly keep track of changes. Don't databind in postbacks. 2006-04-11 Chris Toshok * Login.cs (OnLoggingIn): use Events[loggingInEvent]. 2006-04-06 Konstantin Triger * BaseDataList.cs: Fix searching control by DataSourceID. * DataList.cs: Enable binding using DataSourceID for NET_2_0. 2006-04-06 Konstantin Triger * Login.cs: Added LayoutTemplate property support. * LoginView.cs: Added LoggedInTemplate, AnonymousTemplate support. DataBind: correctly bind child controls. Implemented OnViewChanged, OnViewChanging, Render, Save/LoadControlState. 2006-03-29 Robert Jordan * DataGrid.cs: if custom paging is enabled the persisted item count must be the count of the rendered items, otherwise paging from the last to a previous page won't work correctly. Fixes bug #77556. 2006-03-29 Vladimir Krasnov * RepeatInfo.cs: fixed RenderBeginTag to set enabled value of table when rendering disabled list control 2006-03-28 Gonzalo Paniagua Javier * Panel.cs: render the image url inside 'url()'. Fixes bug #77811. 2006-03-28 Alexandre Miguel Pedro Gomes * FontInfo.cs: Implemented ShouldSerializeNames 2006-03-23 Vladimir Krasnov * DataGrid.cs, DataList.cs, RepeatInfo.cs: added accessablity features 2006-03-23 Vladimir Krasnov * DataGrid.cs: fixed CreateControlHierarchy, added CurrentPageIndex validation in PrepareControlHierarchy fixed style applying to AlternatingItem 2006-03-22 Vladimir Krasnov * DataList.cs: fixed RepeatColumns property, added value validation in PrepareControlHierarchy method fixed style applying for AlternatingItem, EditItem and Separator item fixed RenderContents method, if no items exist, no nned to render emty table strructure. 2006-03-15 Gonzalo Paniagua Javier * CompareValidator.cs: when searching for the control to compare, use NamingContainer instead of Page. Fixes bug #77793. 2006-03-15 Chris Toshok * SiteMapPath.cs (InitializeItem): in the Current and Root node cases, apply the NodeTemplate if it exists and there isn't a CurrentNodeTemplate or RootNodeTemplate, respectively. 2006-03-15 Chris Toshok * SiteMapDataSourceView.cs (OnDataSourceViewChanged): override. * SiteMapDataSource.cs (StartingNodeOffset): new property. (GetStartNode): add code to handle StartNodeOffset < 0. * CompositeControl.cs (ICompositeControlDesignerAccessor.RecreateChildControls): just call the non-iface method. * DataBoundControl.cs (GetDataSource): this is likely wrong, but traverse up the naming container tree looking for our datasource if we're bound using a DataSourceID. This fixes things in the sitemap1 test, which uses a mixture of templates and ContentPlaceholders with the sitemapdatasource and sitemappath at different levels in the naming container tree (let along the itemnode template.) * SiteMapPath.cs (DataBind): implement this by chaining up to base.DataBind, then by looping over our children, emitting OnItemDataBound for each SiteMapNodeItem. (AddAttributesToRender): remove. (CreateChildControls): call DataBind as the final step here.. I have, of course, no idea if this is right. (CreateControlHierarchy): don't databind our children here, as they need to be in the Controls collection before we do. (RenderContents): render our accessibility/screenreader stuff here, if SkipLinkText != "". 2006-03-15 Vladimir Krasnov * DataGridPagerStyle.cs: fixed PrevPageText property 2006-03-13 Chris Toshok * BaseCompareValidator.cs (Convert): make the ValidationDataType.String case a bit more compact. 2006-03-13 Gonzalo Paniagua Javier * ListBox.cs: (RenderContents): don't call base.RenderContents. Fixes bug #77740. Patch by Hubert Fongarnand. 2006-03-13 Vladimir Krasnov * FontInfo.cs: fixed CopyFrom, this method should not reset the received fontinfo if it is the same instance fixed ToString, corrected output where only font size specified 2006-03-13 Vladimir Krasnov * Style.cs: fixed WriteStyleAttributes to set border style to solid, if it not set but the border has width fixes in CopyFrom, MergeWith correct unit compare when it has zero value 2006-03-12 Vladimir Krasnov * DataGrid.cs: in AddColumnsFromSource method fixed columns from properties of custom class fixed InitializeNumericPager, pager numbers should be a Label control fixed CreateControlHierarchy, corrected dataset index of items if paging is enabled 2006-03-09 Vladimir Krasnov * DataList.cs: fixed DoItemInLoop method that fixes itemIndex of separator item. fixed CreateControlStyle to set correct cellspacing of table style fixed InitializeItem to correct applying template to selected and edit items. 2006-03-08 Chris Toshok * SiteMapNodeType.cs: nuke. * BorderStyle.cs, ButtonColumnType.cs, CalendarSelectionMode.cs, DayNameFormat.cs, ListItemType.cs, ListSelectionMode.cs, NextPrevFormat.cs, PagerMode.cs, PagerPosition.cs, RepeatDirection.cs, RepeatLayout.cs, TableRowSection.cs, TextAlign.cs, TextBoxMode.cs, TitleFormat.cs, ValidationCompareOperator.cs, ValidationDataType.cs, ValidationSummaryDisplayMode.cs, ValidatorDisplay.cs: remove [Serializable] in 2.0. * DayNameFormat.cs: add "Shortest". 2006-03-08 Vladimir Krasnov * LinkButton.cs: fixed AddAttributesToRender, removed not needed language attribute 2006-03-08 Vladimir Krasnov * TextBox.cs: fixed missing value validations, fixed rendering of empty value attribute 2006-03-07 Chris Toshok * WebControl.cs (EnableTheming): leave the MonoTODO, but implement by chaining up to base.EnableTheming. 2006-03-07 Vladimir Krasnov * DataList.cs: fixed CreateControlHierarchy, fixes 77693 2006-03-06 Vladimir Krasnov * RadioButton.cs: added ValueAttribute property to store the button value when in list * RadioButtonList.cs: fixed tab index when rendering. 2006-03-02 Chris Toshok * WebControl.cs (SkinID): implement setter/getter, and have them just chain up to base.SkinID. 2006-02-27 Chris Toshok * SqlDataSource.cs: track change to DataSourceControl's protected methods. * AccessDataSource.cs: same. 2006-02-27 Vladimir Krasnov * ListControl.cs: fixed SelectedIndex property, fixed selection reset on incorrect value 2006-02-27 Vladimir Krasnov * TableStyle.cs: fixed AddAttributesToRender function, style BorderCollapse:Collapse was added if table's CellSpacing is zero 2006-02-23 Chris Toshok * CheckBox.cs, ContentControlBuilderInternal.cs, Content.cs, ContentPlaceHolderBuilder.cs, ContentPlaceHolder.cs, DataControlFieldHeaderCell.cs, DataGridColumn.cs, HierarchicalDataBoundControl.cs, HyperLinkField.cs, ImageButton.cs, ImageField.cs, Literal.cs, ObjectDataSourceView.cs, TextBox.cs: more corcompare work. * BaseCompareValidator.cs, BaseValidator.cs, Button.cs, DataControlField.cs, DetailsView.cs, FormView.cs, GridView.cs, HotSpot.cs, LinkButton.cs, Login.cs, SiteMapDataSource.cs, SqlDataSourceCommandType.cs, TableSectionStyle.cs, TemplateField.cs, TreeNodeCollection.cs, TreeNode.cs, TreeView.cs, ValidationSummary.cs, WizardStepBase.cs: fix tons of corcompare errors. most were caused by a property/method being virtual when it shouldn't be, or vice versa. 2006-02-22 Chris Toshok * ObjectDataSource.cs: corcompare work. 2006-02-22 Chris Toshok * ParameterCollection.cs: add an EditorAttribute to the class. * Parameter.cs: cleanup, fix the Value property, and implement the Size property. * SqlDataSourceView.cs: clean things up a bit, and add handling for parameters. 2006-02-22 Chris Toshok * SqlDataSourceFilteringEventArgs.cs: formatting. * SqlDataSourceSelectingEventArgs.cs: remove ExecutingSelectCount, both the property and ctor arg. * AccessDataSourceView.cs (ExecuteSelect): use SelectingEventArgs, not CommandEventArgs. Also, cast the return value of oleCommand.ExecuteReader. * AccessDataSource.cs (.ctor): fix the ctors and remove FIXME comments. (GetDbProviderFactory): implement naively, and leave a MonoTODO. (GetPhysicalDataFilePath): implement, again naively. this is where the NRE is generated when we access ConnectionString in a testcase on .net. (ConnectionString): dynamically generate this based on our DataFile attribute. (DataFile): clear the ConnectionString in the setter so we'll regenerate it. (ProviderName): use base.ProviderName in the getter, not this.ProviderName, so we don't recurse infinitely. * SqlDataSourceView.cs: start reworking this class. * SqlDataSource.cs (GetDbProviderFactory): implement this, following the MS docs on the matter (if ProviderName is null/"", return SqlClientFactory.Instance.) (GetDbProviderFactoryInternal): add an internal method for use by SqlDataSourceView. (TrackViewState): don't invoke View.TrackViewState unless we have one. (Selecting): change event handler type to match MS. (Filtering): add missing event. (View): call CreateDataSourceView, don't just create an SqlDataSourceView. 2006-02-21 Chris Toshok * BoundField.cs: ues the ViewState.Get* pattern with default instead of the explicit ViewState lookup + null check, and fix the scope of InitializeDataCell. * ButtonField.cs: ues the ViewState.Get* pattern with default instead of the explicit ViewState lookup + null check. * CommandField.cs: same. * CheckBox.cs: same. * AutoGeneratedFieldProperties.cs: same. * BaseDataList.cs: same. * CircleHotSpot.cs: same. * BulletedList.cs: same. * DataBoundControl.cs: same. * CookieParameter.cs: same. * ControlParameter.cs: same. * CustomValidator.cs: same. * ButtonFieldBase.cs: same. * CheckBoxField.cs: same, and fix the scope of InitializeDataCell. * AutoGeneratedField.cs: fix scope of InitializeDataCell. * BaseValidator.cs: same, and clean up the getter/setter formatting. * CompareValidator.cs: same. 2006-02-20 Vladimir Krasnov * ListControl.cs: fixed DataSource property, to throw ArgumentException on incorrect value 2006-02-20 Vladimir Krasnov * Image.cs: fixed missing border="0" attribute, when image has style, but border width is not specified. 2006-02-20 Vladimir Krasnov * CheckBox.cs: fixed InternalAddAttributesToRender, Render to correct the "disabled" attribute in CheckBoxList * CheckBoxList.cs: fixed RenderItem, to correct the "disabled" attribute in CheckBoxList 2006-02-20 Vladimir Krasnov * CheckBox.cs: fixed Render function, removed rendering of empty element if ControlStyleCreated but it's empty. fixed "disabled" attribute, it should be placed into span element 2006-02-20 Vladimir Krasnov * BoundColumn.cs: fixed InitializeCell function, if DataField is null or empty string, the cell should not be bound. 2006-02-08 Chris Toshok * ListControl.cs (OnDataBinding): in 2.0, only clear our items if AppendDataBoundItems != false. Also, split all the databinding logic out to DoDataBinding, which we call from here only if !NET_2_0. (DoDataBinding): new function. actually perform the binding. (PerformDataBinding): implement. (PerformSelect): chain up to base class. 2006-02-07 Chris Toshok * ContentPlaceHolder.cs: fix ToolboxDataAttribute. * Content.cs: use ContentControlBuilderInternal, and add a bunch of unused (for now) EventHandler's here. * ContentControlBuilderInternal.cs: rename ContentControlBuilder to this. 2006-01-24 Gonzalo Paniagua Javier * ListControl.cs: bound checking for Items when loading the control state, as the number might have been changed on the fly. Patch by Elliott Draper. 2006-01-22 Chris Toshok * CheckBox.cs: s/GetPostBackClientEvent/GetPostBackEventReference. * MultiView.cs (OnBubbleEvent): case the rhs to a string to get the intended comparison right and quiet mcs. 2006-01-15 Konstantin Triger * Button.cs: Add semicolon after client script if does not exist. 2006-01-15 Konstantin Triger * Button.cs: preserve user logic when adding client validation. 2006-01-15 Konstantin Triger * BaseValidator.cs: fixing visibility bahavior 2006-01-13 Gonzalo Paniagua Javier * RangeValidator.cs: allow empty data from the control. Patch from Marek Habersack that fixes bug #77239. 2006-01-10 Gonzalo Paniagua Javier * Calendar.cs: use the DateTimeFormatInfo from the current thread. Patch by Cyrille Colin. Closes bug #77184. 2006-01-08 Konstantin Triger * PagedDataSource.cs, DataGrid.cs: TARGET_JVM changes to let the compilation pass with csc 1.1. 2005-12-08 Gonzalo Paniagua Javier * DropDownList.cs: HtmlEncode the item text. Fixes bug #76949. 2005-12-07 Chris Toshok * BaseValidator.cs: in the uplevel rendering case, don't render the text if the validator's Display attribute is "None". Should fix bug #76924. 2005-11-30 Gonzalo Paniagua Javier * RadioButton.cs: if the 'value' attribute is set explicitly (as RadioButtonList does now), use that as the 'name' attribute. * RadioButtonList.cs: set the AutoPostBack and Enabled properties of the radiobuttons. Fixes bug #76706. 2005-11-30 Gonzalo Paniagua Javier * CheckBox.cs: add possible 'internal' attributes to the input tag. Fix the 'name' attribute when not aligninng to the right. * RadioButton.cs: use NameAttribute instead of GroupName when indexing the collection. Raise the OnCheckedChanged event. Fixes bug #76710. 2005-11-30 Gonzalo Paniagua Javier * DataGrid.cs: clear the control collection on every call to CreateControlHierarchy. Fixes bug #76732. 2005-11-28 Gonzalo Paniagua Javier * ListBox.cs: Rows and SelectionMode are virtual in 1.1 2005-11-21 Gonzalo Paniagua Javier * CheckBox.cs: use the NameAttribute property for setting 'name'. * RadioButton.cs: get a UniqueID based identifier for 'name'. Fixes bug #76710. 2005-11-18 Gonzalo Paniagua Javier * LinkButton.cs: don't output any javascript when the linkbutton is disabled. Fixes bug #76713. 2005-11-18 Gonzalo Paniagua Javier * DataGrid.cs: use TableHeaderCell instead of TableCell for headers when UseAccesibleHeader property is true. Patch by Robert Jordan. 2005-11-18 Gonzalo Paniagua Javier * BaseValidator.cs: 'controltovalidate' must be the ClientID of the control to validate. Fixes bug #76641. 2005-11-18 Gonzalo Paniagua Javier * BoundColumn.cs: when the column is readonly and we're in edit mode, keep it as a TextBox. Fixes bug #76714. 2005-11-03 Gonzalo Paniagua Javier * ListBox.cs: render the 'onchange' attribute when AutoPostback is enabled. Fixes bug #76608. 2005-11-03 Gonzalo Paniagua Javier * CheckBox.cs: AddAttributesToRender was extra in 1.1, so moved all the logic to Render and make it render the ID, which fixes bug #76596. 2005-10-25 Gonzalo Paniagua Javier * Repeater.cs: someone forgot the curly brackets. Fixes bug 76537. 2005-10-24 Gonzalo Paniagua Javier * Literal.cs: allow LiteralControl as child, but instead of adding it to the control collection, it just gets the Text out of it. 2005-10-22 Gonzalo Paniagua Javier * PagedDataSource.cs: fix range when we're at the last page. * DataGrid.cs: only need to keep the item count in the viewstate. Fixes bug #76503. 2005-10-20 Gonzalo Paniagua Javier * ListControl.cs: made GetSelectedIndices() internal. * ListBox.cs: html-encode the item text. Fixed single and multiple selection handling. All the tests pass now. Closes bug #76478. 2005-10-18 Gonzalo Paniagua Javier * ListControl.cs: throw when the selected value is not in the items collection. Fixes bug #76415. 2005-10-17 Gonzalo Paniagua Javier * BaseDataList.cs: Type.GetTypeCode was fixed and now does not throw a nullref, so we have to do it by ourselves here to make the test happy. * BaseValidator.cs: render the text of the error message even if we set IsValid programatically. Don't use 'valid' directly, as IsValid is virtual. Fixes bug #76299. 2005-10-17 Gonzalo Paniagua Javier * CustomValidator.cs: an empty ControlToValidate is valid. 2005-10-17 Sebastien Pouliot * RequiredFieldValidator.cs: Added missing permissions. 2005-10-10 Gonzalo Paniagua Javier * DataList.cs: copied and adapted PrepareControlHierarchy from DataGrid. Now the items get the attributes from the styles in datalist. Add the separators after each item, not before. GetItemStyle returns the actual item style, not the styles in the datalist. Fixes bug #76384 and all new tests pass. 2005-10-10 Gonzalo Paniagua Javier * Style.cs: add a 'border-style: solid' to make IE happy. Fixes bug 76373. 2005-10-07 Gonzalo Paniagua Javier * TemplateColumn.cs: SelectedItem was missing from the select (). Fixes bug #76359. 2005-10-06 Sebastien Pouliot * FontInfo.cs: Gendarme strikes again. Sealed class have no need for inheritance demands. * FontUnit.cs: Structs are sealed so there's no need for inheritance demands. * Unit.cs: Structs are sealed so there's no need for inheritance demands. 2005-10-06 Gonzalo Paniagua Javier * PagedDataSource.cs: fix the upper bound for collection and ilist enumarators. 2005-10-06 Gonzalo Paniagua Javier * DataGrid.cs: change the ListItemType for the item selected, set SelectedIndex before calling OnSelectedIndexChanged and set the selected item type correctly when creating the columns. Fixes bug #76334. * ButtonColumn.cs: * EditCommandColumn.cs: use a ForeColorLinkbutton, otherwise when selecting the row, the button keep the regular link color. * DataGridColumn.cs: made the class internal. 2005-10-04 Gonzalo Paniagua Javier * DataGrid.cs: fix breakaga of alternating item style in one of my last patches. 2005-10-04 Gonzalo Paniagua Javier * Calendar.cs: remove Console. * ListBox.cs: the name is the UniqueID, not the ClientID. * WebControl.cs: Attributes is case insensitive. 2005-10-04 Gonzalo Paniagua Javier * ImageButton.cs: use UniqueID in LoadPostData and also try just the UniqueID without appending a ".x" or ".y". Fixes several issues in mojoPortal. Thanks to Joe Audetter for his patience. 2005-10-02 Gonzalo Paniagua Javier * ButtonColumn.cs: it was lacking databinding, so copied most of it from BoundColumn. 2005-10-02 Gonzalo Paniagua Javier * FontInfo.cs: removed useless ctor. * Style.cs: keep here some commented out debugging code. * DataGrid.cs: the Items property does not create a new arraylist if the items_list was already initialized. Add case for Separator. * DataGridColumn.cs: when sorting is enabled, the linkbutton rendered in the header columns has a special ForeColor handling. 2005-10-02 Gonzalo Paniagua Javier * DataGrid.cs: PageCount must persist in ViewState too and returns the number of pages in the paged data source once we set that. Fix checks for visibility of the pager: no more 2 pagers when custom paging is enabled. 2005-09-30 Gonzalo Paniagua Javier * ImageButton.cs: fix a bug reported on the list. We were triggering the command event on every POST. And the 'name' attribute was not being rendered, so the 'x,y' coordinates didn't have 'uniqueid.' prepended and we couldn't find the values. 2005-09-30 Gonzalo Paniagua Javier * DataGrid.cs: fix the links for the numeric pager. 2005-09-30 Gonzalo Paniagua Javier * DataGrid.cs: when paging is enable, the actual number of items is not the number of items rendered before the postback, but that number times the number of pages. Now we store the page count in the viewstate. Also, as the number might be big, don't allocate an array of objects to fake the collection for the PagedDataSource, but use the new NCollection class instead, which provides cheap (memory wise) enumerator for an arbitrary number of items. Thanks to "Adriano" for the test case. 2005-09-29 Gonzalo Paniagua Javier * Xml.cs: the show must go on. Removed a few NotImplemented. 2005-09-29 Gonzalo Paniagua Javier * Button.cs: implemented 2.0 RaisePostBackEvent in terms of the existing code in 1.1 (or viceversa). RenderContents() does nothing. * DataGrid.cs: changed autoid api. * EditCommandColumn.cs: only 'Update' causes validation. * TableCell.cs: changed autoid api. RenderContents checks the number of controls to decide what to do, not the value of Text in the viewstate. * TableRow.cs: changed autoid api. * BoundColumn.cs: SelectedItem was missing when attaching a DataBind event. When we get an EditItem, we need a TextBox to be created and this one will be the one that gets the event. Changed ItemDataBinding to deal with a TextBox too. 2005-09-29 Gonzalo Paniagua Javier * PagedDataSource.cs: fix IsLastPage. All tests pass. * DataGrid.cs: InitializePager always add a cell and it's brand new. No need to keep the old one in a field. Now all tests pass here too. 2005-09-28 Gonzalo Paniagua Javier * PagedDataSource.cs: don't use the properties when they just return a field. Fixed Count when paging is enabled. In GetEnumerator, IList goes before ICollection (otherwise, an IList will always fall under the ICollection case). The enumerator for lists will be empty if 'start' is beyond the list size. All existing tests pass, but one in DataGridTest that fails because of some problem with the paging. 2005-09-28 Gonzalo Paniagua Javier * Style.cs: fix the 2.0 build. 2005-09-28 Gonzalo Paniagua Javier * Style.cs: avoid unnecesary creation of a CssStyleCollection and instead write the style attributes directly to the HtmlTextWriter. * CheckBox.cs: adapted to new API. * DataGrid.cs: handle null data sources. Fixed the contions that make the table to be added to the Controls collection. * Calendar.cs: the table needed an ID and the attributes from the parent. Also don't create the ControlStyleCollection if it has not already been created. 2005-09-28 Gonzalo Paniagua Javier * DataGrid.cs: handle null data sources. Fixed the contions that make the table to be added to the Controls collection. 2005-09-27 Gonzalo Paniagua Javier * Calendar.cs: TrackViewState should be called upon creation, not on every get_XXX call. Cleanup. 2005-09-27 Gonzalo Paniagua Javier * DataGrid.cs: fix another test. The ID of the table generated by the datagrid is set to the one on the datagrid if no one set the ID for the table. 2005-09-27 Gonzalo Paniagua Javier * ListControl.cs: this fixes TestValueFieldAndTextFormat from DropDownListTest. 2005-09-27 Gonzalo Paniagua Javier * FontUnit.cs: use a table for FontSize names, as the X{1,2}.* ones are converted to string as X{1,2}-.*. All FontUnitTests pass now. * Unit.cs: throw a format exception when there's not number or minus sign in the first non-whitespace character. 2005-09-27 Gonzalo Paniagua Javier * ListControl.cs: SelectedIndex/SelectedValue can be set before DataBinding () is called on the control, so we have to keep this values around and use them after the data is read. If both properties are used, they must refer to the same item. 2005-09-24 Gonzalo Paniagua Javier * DataList.cs: fill in the data keys from BaseDataList so that the events can see them. Only assign DataItem when using data binding and nullify it after all events are raised. 2005-09-24 Gonzalo Paniagua Javier * DataList.cs: OnItemCommand() is raised any time OnBubbleEvent is called. 2005-09-23 Sebastien Pouliot * Button.cs: For 2.0 don't add the "name" attribute unless there's an id. * DataGrid.cs: Fix TagKey (table) for 2.0. * DataList.cs: Revert 2.0 specific stuff that was changed in RC. * DropDownList.cs: For 2.0 don't add the "name" attribute unless there's an id. * ListBox.cs: For 2.0 don't add the "name" attribute unless there's an id. * RoleGroupCollection.cs: Fix "extra" exception in Remove method. * Style.cs: Fixed (2.0) RegisteredCssClass to returns String.Empty (i.e. not null). * TextBox.cs: For 2.0 don't add the "name" attribute unless there's an id. * TreeView.cs: Added declarative security (Link and Inheritance demands) for Minimal. * XmlDataSource.cs: Added declarative security (Link and Inheritance demands) for Minimal. 2005-09-23 Sebastien Pouliot * FontUnit.cs: Added, but only for 1.x, declarative security (Link and Inheritance demands) for Minimal. * Label.cs: Added declarative security (Link and Inheritance demands) for Minimal. * ListItem.cs: Added declarative security (LinkDemands) for Minimal. * ListItemCollection.cs: Added declarative security (LinkDemands) for Minimal. * MonthChangedEventArgs.cs: Added declarative security (Link and, for 2.0, Inheritance demands) for Minimal. * PagedDataSource.cs: Added declarative security (LinkDemands) for Minimal. * Panel.cs: Added declarative security (Link and Inheritance demands) for Minimal. * Repeater.cs: Added declarative security (Link and Inheritance demands) for Minimal. * RepeatInfo.cs: Added declarative security (LinkDemands) for Minimal. * SelectedDatesCollection.cs: Added declarative security (LinkDemands) for Minimal. * TargetConverter.cs: Added declarative security (Link and Inheritance demands) for Minimal. * Unit.cs: Added, but only for 1.x, declarative security (Link and Inheritance demands) for Minimal. * ValidatedControlConverter.cs: Added declarative security (Link and Inheritance demands) for Minimal. * WebColorConverter.cs: Added declarative security (Link and Inheritance demands) for Minimal. * Xml.cs: Added declarative security (Link and Inheritance demands) for Minimal. * ValidationSummary.cs: Added declarative security (Link and Inheritance demands) for Minimal. 2005-09-23 Sebastien Pouliot * UnitConverter.cs: Remove conversion from Unit (see unit tests). 2005-09-22 Ben Maurer * BulletedList.cs: Remove the cacheEnabled thing. I was thinking it took O(height) time, not O(1). 2005-09-21 Sebastien Pouliot * CheckBoxList.cs: Fix unit test failure (which matched bug #48802). 2005-09-21 Sebastien Pouliot * AdCreatedEventArgs.cs: Added declarative security (Link and, for 2.0, Inheritance demands) for Minimal. * BaseCompareValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. * BaseDataBoundControl.cs: Added declarative security (Link and Inheritance demands) for Minimal. * BaseValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. * BoundColumn.cs: Added declarative security (Link and Inheritance demands) for Minimal. * ButtonColumn.cs: Added declarative security (Link and Inheritance demands) for Minimal. * CalendarDay.cs: Added declarative security (Link and Inheritance demands) for Minimal. * CheckBoxList.cs: Added declarative security (Link and Inheritance demands) for Minimal. * CompareValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. * CustomValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. * DataBoundControl.cs: Added declarative security (Link and Inheritance demands) for Minimal. * DataGridItemCollection.cs: Added declarative security (Link and Inheritance demands) for Minimal. * DataKeyCollection.cs: Added declarative security (LinkDemands) for Minimal. * DataListItemCollection.cs: Added declarative security (LinkDemands) for Minimal. * DataListItem.cs: Added declarative security (Link and Inheritance demands) for Minimal. * FontNamesConverter.cs: Added declarative security (Link and Inheritance demands) for Minimal. * HyperLink.cs: Added declarative security (Link and Inheritance demands) for Minimal. * HyperLinkColumn.cs: Added declarative security (Link and Inheritance demands) for Minimal. * Image.cs: Added declarative security (Link and Inheritance demands) for Minimal. 2005-09-20 Gonzalo Paniagua Javier * BaseDataList.cs: it's the DataKeysArray what is stored in "DataKeys", not the DataKeys. * DataGrid.cs: add the keys to BaseDataList.DataKeysArray. When using a data source, first try reflection, then componentmodel. If we get an enumerator, keep it around, as MS only calls GetEnumerator once. Throw an exception if no columns can be created from the given data source. Tested with DbDataRecord, DataTable, ArrayList and ICustomTypeDescriptor. 2005-09-20 Sebastien Pouliot * AccessDataSource.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [ToolboxBitmap] on class. * AdRotator.cs: Added declarative security (Link and Inheritance demands) for Minimal. Removed extra Page and ViewState properties. * BulletedList.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * Button.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * Calendar.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * CheckBox.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * CompositeControl.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added new protected RecreateChildControls method. * DataControlCommands.cs: Added declarative security (LinkDemands) for Minimal. Added private ctor. * DataGrid.cs: Added declarative security (Link and Inheritance demands) for Minimal. Fixed properties for 2.0 (mostly removing [Bindable]). Added override for TagKey property. * DataGridColumn.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [UrlProperty] on HeaderImageUrl (2.0). * DataGridItem.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added IDataItemContainer interface for 2.0. * DataGridPagerStyle.cs: Added declarative security (LinkDemands) for Minimal. Remove [Bindable] from 2.0 and add [Localizable]. * DataList.cs: Removed [Load|Save]ControlState methods. * DropDownList.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * EditCommandColumn.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added missing attributes, [DefaultValue] and [Localize] for 2.0. * FontInfo.cs: Added declarative security (Link and Inheritance demands) for Minimal. Remove [Bindable] and added [RefreshProperties] for 2.0. * Login.cs: Added declarative security (Link and Inheritance demands) for Minimal. Fixed IsStyleEmpty. Removed extra [Themeable] attributes. * ImageButton.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * LinkButton.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * ListBox.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * Literal.cs: Added declarative security (Link and Inheritance demands) for Minimal. Removed [EditorBrowsable] on CreateControlCollection method. * LoginStatus.cs: Added missing [Themeable] attributes on properties. * MenuItemStyle.cs: Changed IsEmpty to public (required to compile - but will be shown as extra). * RadioButton.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * RadioButtonList.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * RangeValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added missing [Themeable] attributes. * RegularExpressionValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. Remove [Bindable] from 2.0 and add [Localizable]. * RoleGroupCollection.cs: Added declarative security (Link and Inheritance demands) for Minimal. Fixed base class (changed in RC). Re-implemented CopyTo. Removed some methods. * Style.cs: Added declarative security (Link and Inheritance demands) for Minimal. Remove static IsStyleEmpty and ToString (from 2.0). IsEmpty is now public in 2.0. * Table.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * TableCell.cs: Fixed PersistenceMode for 2.0. * TextBox.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * TreeNodeStyle.cs: Changed IsEmpty to public (required to compile - but will be shown as extra). * WebControl.cs: Added declarative security (Link and Inheritance demands) for Minimal. Removed [EditorBrowsable] on ControlStyleCreated property. 2005-09-19 Gonzalo Paniagua Javier * TableStyle.cs: fixed typo that prevented restoring GridLines from a saved viewstate. * DataGrid.cs: the table does not get an auto ID. When restoring from viewstate, use all the saved columns, not just that data bound ones. Set the owner of the BoundColumns created. Save/restore columns. OnItemCreated happens after the item is initialized and the data item is set before the event and nullified after OnItemDataBound. Add the render_table to the Controls immediately, otherwise we might get errors from child controls such as "must be rendered inside a form". Keep the items created in the list waiting for them. The table uses the attributes from the DataGrid and ControlStyle. Raise OnItemCommand on all bubble events and don't propagate bubble event up in the hierarchy * TableCell.cs: it does not get an automatic ID. * BoundColumn.cs: FormatDataValue returns an empty string on null input (there was already a test for this). Fixes bug #76117. 2005-09-17 Gonzalo Paniagua Javier * DataGridColumnCollection.cs: track the view state in the newly added items. 2005-09-15 Gonzalo Paniagua Javier * DataGrid.cs: merge column styles too. Fixes bug #76106. * DataGridColumn.cs: new internal method to retrieve the styles without creating an instance for them. 2005-09-15 Sebastien Pouliot * DataControlField.cs, HotSpot.cs, MenuItem.cs, Parameter.cs, Style.cs, TreeNode.cs: Replace _empty_ StateBag.SetDirty () with StateBag.SetDirty (true). 2005-09-14 Sebastien Pouliot * Menu.cs: Fixed parameter orders for CreateStyleRule. 2005-09-13 Chris Toshok * Style.cs: corcompare stuff. * RequiredFieldValidator.cs: more corcompare stuff. * CheckBoxList.cs: clean up some of the interface methods vs protected virtual 2.0 calls. * SubMenuStyle.cs: corcompare says this should implement ICustomTypeDescriptor... sooo, make it. 2005-09-13 Gonzalo Paniagua Javier * TableCell.cs: do the same as HyperLink and others in AddParsedSubobject so that adding a literal control does not remove the existing controls if any. Fixes bug #76078. 2005-09-09 Gonzalo Paniagua Javier * GridView.cs: don't duplicate class attribute. Fixes bug #75936. 2005-09-09 Gonzalo Paniagua Javier * ImageButton.cs: fix invalid cast exception. 2005-09-09 Gonzalo Paniagua Javier * ListItem.cs: throw in AddParsedSubObject if the object is not a LiteralControl. * RadioButtonList.cs: implemented LoadPostData and RaisePostDataChangedEvent. 2005-09-09 Chris Toshok * CheckBox.cs, CheckBoxList.cs, DropDownList.cs, ImageButton.cs, ListBox.cs, RadioButton.cs, RadioButtonList.cs, TextBox.cs: fix up LoadPostData/RaisePostDataChangedEvent. 2005-09-09 Chris Toshok * FontInfo.cs (IsEmpty): new internal property, used by Style.IsEmpty. * Style.cs (IsEmpty): make sure the fontinfo is null or empty as well. 2005-09-08 Gonzalo Paniagua Javier * ListItemCollection.cs: remove obsoleted methods. * ListBox.cs: use IStateManager on the item collection. 2005-09-08 Eyal Alaluf * Use C# 1.0 style of delegate instantiating. Needed to compile Grasshopper (TARGET_J2EE) which uses MS C# 1.0 compiler and not msc. 2005-09-07 Chris Toshok * Calendar.cs (WriteDay): always add BackColor=Silver, ForeColor=White to selected day cells, before copying over the selectedDayStyle, if it exists. (WriteDays): fix nunit test - if the first day of the month falls on the first day of the week, go back one week (effectively adding a row of dates from the previous month.) (WriteTitle): don't copy the control style to the tableTitle, since it might have height specifications, which would make the title look rather off. 2005-09-07 Chris Toshok * ValidationSummary.cs (AddAttributesToRender): we only set display=none if there are no errors. * BaseValidator.cs (OnPreRender): fix a JS error - on submit we call ValidatorOnSubmit, not ValidatorCommonOnSubmit. 2005-09-07 Chris Toshok * ListControl.cs (SelectedIndex): add comment about how you'd think OnSelectedIndexChanged would be called.. and you'd be wrong. (Text): implement in terms of SelectedValue. (TagKey): do the HAVE_CONTROL_ADAPTERS two-step. (LoadControlState): implement - this is where the selected index ArrayList gets stuffed in 2.0. (OnInit): call Page.RegisterRequiresControlState. (OnTextChanged): implement. (RenderContents): for now just chain up to base.RenderContents. (SaveControlState): save our control state properly. (GetSelectedIndices): split this out from SaveViewState to it can be used by both that and SaveControlState. (SaveViewState): mangle this function so it works in both 2.0 and 1.0. (LoadViewState): same. 2005-09-06 Chris Toshok * BaseValidator.cs (AddAttributesToRender): render our ClientID if we weren't assigned an ID. * ValidationSummary.cs (AddAttributesToRender): same. 2005-09-06 Chris Toshok * WebControl.cs: revert the last change. 2005-09-06 Chris Toshok * WebControl.cs (AddAttributesToRender): always render ClientID. * ValidationSummary.cs (Render): same. * BaseValidator.cs (RegisterValidatorDeclaration): use ClientID here. 2005-09-06 Chris Toshok * ValidationSummary.cs (Render): only do the JS stuff when the validators on the page are uplevel. * BaseValidator.cs (Render): remove unnecessary comment. 2005-09-05 Chris Toshok * BaseDataBoundControl.cs (DataSourceID): testing reveals this is stored in the ViewState. 2005-09-02 Chris Toshok * Repeater.cs (GetData): change this slightly so the Repeater doesn't keep a ref to the return value of GetData. 2005-09-01 Chris Toshok * ListControl.cs (AppendDataBoundItems): implement (2.0) (TagKey): same. 2005-09-01 Chris Toshok * System.Web.UI.WebControls/MonthChangedEventArgs.cs, System.Web.UI.WebControls/ValidatedControlConverter.cs, System.Web.UI.WebControls/Xml.cs, System.Web.UI.WebControls/RegularExpressionValidator.cs, System.Web.UI.WebControls/ServerValidateEventArgs.cs, System.Web.UI.WebControls/Menu.cs, System.Web.UI.WebControls/MailMessageEventArgs.cs, System.Web.UI.WebControls/MenuItemStyle.cs, System.Web.UI.WebControls/RangeValidator.cs, System.Web.UI.WebControls/RepeaterItemEventArgs.cs, System.Web.UI.WebControls/MenuItem.cs, System.Web.UI.WebControls/RepeaterCommandEventArgs.cs, System.Web.UI.WebControls/DataGridSortCommandEventArgs.cs, System.Web.UI.WebControls/DataGridCommandEventArgs.cs, System.Web.UI.WebControls/DataGridPageChangedEventArgs.cs, System.Web.UI.WebControls/XmlBuilder.cs, System.Web.UI.WebControls/ImageButton.cs: someone stop me. more corcompare work. 2005-09-01 Chris Toshok * System.Web.UI.WebControls/Button.cs, System.Web.UI.WebControls/ButtonField.cs, System.Web.UI.WebControls/DataControlField.cs, System.Web.UI.WebControls/BaseCompareValidator.cs, System.Web.UI.WebControls/AutoGeneratedField.cs, System.Web.UI.WebControls/CustomValidator.cs, System.Web.UI.WebControls/Content.cs, System.Web.UI.WebControls/BoundField.cs, System.Web.UI.WebControls/AdRotator.cs, System.Web.UI.WebControls/ButtonColumn.cs, System.Web.UI.WebControls/CompareValidator.cs, System.Web.UI.WebControls/AdCreatedEventArgs.cs: More corcompare work. Stub things out, and add attributes. 2005-09-01 Chris Toshok * Button.cs, ButtonField.cs, FontInfo.cs, Style.cs, Xml.cs, CommandField.cs, HyperLinkColumn.cs, Table.cs, RegularExpressionValidator.cs, DataGridPagerStyle.cs, Label.cs, CheckBox.cs, RadioButton.cs, TableStyle.cs, ListControl.cs, Image.cs, BaseCompareValidator.cs, BaseDataList.cs, DataList.cs, TemplateColumn.cs, RangeValidator.cs, ImageField.cs, BaseValidator.cs, CustomValidator.cs, TextBox.cs, ButtonFieldBase.cs, BoundField.cs, CheckBoxList.cs, RadioButtonList.cs, RequiredFieldValidator.cs, AdRotator.cs, Repeater.cs, DropDownList.cs, CheckBoxField.cs, HyperLink.cs, XmlDataSource.cs, Panel.cs, DataGrid.cs, ButtonColumn.cs, CompareValidator.cs, Calendar.cs, ListBox.cs, TableCell.cs, WebControl.cs, Literal.cs, ValidationSummary.cs, ImageButton.cs, TableRow.cs, LinkButton.cs, DataGridColumn.cs, BoundColumn.cs, TableItemStyle.cs: Add some WebCategory and WebSysDescription attributes. 2005-09-01 Chris Toshok * AccessDataSource.cs: corcompare work. * SqlDataSource.cs: same. 2005-09-01 Miguel de Icaza * Various places: make sure that the DefaultValue matches the type. Thanks to Michael for pointing this out. In future audits, you might want to use the following awk command: awk '/DefaultValue/ { v=$0; looking = 1; } /public/ && looking && !/string/ && !/ int / && !/ bool / { print FILENAME; print v; print $0; looking = 0; } /public/ && looking { looking = 0; } ' *.cs The above skips bools, strings and ints as those were fine as we set them. The bug was on the other ones. 2005-08-31 Gonzalo Paniagua Javier * Repeater.cs: fix the build. 2005-08-31 Chris Toshok * Repeater.cs: lots of 2.0 work, much of it c&p'ed from {Base}DataList, and also from debug spew garnered from some Repeater subclass tests on MS. (CreateControlHierarchy): in 2.0 if IsBonudUsingDataSourceID get the IEnumerable by calling GetData(). (DataBind): reset RequiresDataBinding to false (2.0). (DataMember): copy the set implementation from DataList, and add 2.0 code to call OnDataPropertyChanged if we're !Initialiezd. (DataSource): more c&p. (DataSourceID); implement (2.0) (Initialized): implement (2.0) (IsBoundUsingDataSource): implement (2.0) (RequiresDataBinding): implement (2.0) (SelectArguments): implement (2.0) (CreateDataSourceSelectArguments): implement (2.0) (EnsureDataBound): implement (2.0) (GetData): implement. (OnDataPropertyChanged): remove the NIE, but leave the MonoTODO (2.0) (OnDataSourceViewChanged): set RequiresDataBinding to true, but leave the MonoTODO. (2.0) (OnInit): call base.OnInit instead of throwing NIE, but leave the MonoTODO (2.0) (OnLoad): implement. (OnPreRender): implement. (ConnectToDataSource): new method - look for the right control. 2005-08-31 Chris Toshok * XmlDataSourceView.cs: fix the scope of our select. Don't use call SelectNodes on the XmlDocument, not on XmlDocument.DocumentElement. 2005-08-31 Chris Toshok * XmlDataSourceView.cs (.ctor): remove the nodelist parameter. (DoXPathSelect): put the xpath selection stuff here. (ExecuteSelect): call DoXPathSelect if we need to (if nodes == null). * XmlDataSource.cs (IDataSource.GetView): don't do the XPath select here, the view does it. 2005-08-31 Jackson Harper * DataList.cs: Remove some debugging code that was starting to bug me (tee hee). 2005-08-31 Chris Toshok * XmlDataSourceNodeDescriptor.cs: implement IXPathNavigable, and create our Navigator by calling node.CreateNavigator(). 2005-08-31 Chris Toshok * XmlDataSource.cs (GetXmlDataDocument): rename this to GetXmlDocument, and change the return value from XmlDataDocument to XmlDocument. (LoadXmlDataDocument): similar change. (Save): xmlDataDocument -> xmlDocument. (CanBeSaved): there's no ReadOnly attribute. (LoadViewState, SaveViewState, TrackViewState): nuke. (GetHierarchicalView): xmlDataDocument -> xmlDocument. (CacheDuration): stub out with NIE. (CacheExpirationPolocy): same. (CacheKeyDependency): same. (EnableCaching): same. (ReadOnly): nuke. (Data, DataFile): xmlDataDocument -> xmlDocument. (Schema, SchemaFile): nuke. (Transform, TransformFile): xmlDataDocument -> xmlDocument. 2005-08-30 Lluis Sanchez Gual * SubMenuStyle.cs, MenuItemStyle.cs, TreeNodeStyle.cs: Don't use the obsolete IsSet method. * Menu.cs: Implement IPostBackEventHandler.RaisePostBackEvent. * CheckBox.cs: Implement some 2.0 methods. * GridView.cs: Removed some "throw new NotImplementedException" 2005-08-29 Chris Toshok * TreeView.cs: Use the StateBag accessors Ben added, and implement SkipLinkText and Visible. 2005-08-29 Chris Toshok * TreeView.cs: fix typo in an attribute. 2005-08-29 Jackson Harper * PagedDataSource.cs: If it's not a list or collection we don't use a bounded enumerator. 2005-08-29 Chris Toshok * LinkButton.cs: fix some 2.0 Page/ClientScript obsolete warnings. * CheckBox.cs: same. * BaseValidator.cs: same. * DropDownList.cs: same. * ValidationSummary.cs: same. 2005-08-28 Chris Toshok * XmlHierarchyData.cs: fix IHierarchyData.GetParent. 2005-08-26 Chris Toshok * TextBox.cs: implement ValidationGroup and CausesValidation properties. 2005-08-26 Lluis Sanchez Gual * Style.cs: Implemented FillStyleAttributes, GetStyleAttributes and SetDirty. 2005-08-26 Chris Toshok * Unit.cs: implement the 2.0 ToString(IFormatProvider) method. * FontUnit.cs: add two 2.0 ctors, and the 2.0 ToString(IFormatProvider) method. 2005-08-26 Sebastien Pouliot * CheckListBox.cs: Nothing is rendered (i.e. no empty table) in 2.0 if no items are present in the list. * RoleGroup.cs: Added missing attributes. * RoleGroupCollection.cs: Added missing attributes and some (yet-to-be- documented) methods. * TableStyle.cs: *for 2.0* adding a "url({0})" to background image must be done in the HtmlTextWriter (not in the TableStyle). 2005-08-26 Chris Toshok * Calendar.cs (UseAccessibleHeader): implement. (RaisePostBackEvent): some #ifdef ugliness to get this all working propertly between 1.x and 2.0 (WriteDayHeader): if UseAccessibleHeader == true, render header cells as th's, not td's, and add abbr and scope attributes. 2005-08-25 Chris Toshok * Calendar.cs (Caption, CaptionAlign): implement these properties. (Render): if we have a non-empty caption, show it. (WriteCaption): new method, output the caption. 2005-08-25 Chris Toshok * Calendar.cs (Render): Copy the entire style from the Calendar to the Table, not just the font. (WriteDay): don't just write the link/text/etc. Create a LiteralControl as a child of the cell, before the call to OnDayRender, with its text set to the day number. After OnDayRender, set the literal's text to either the number again (if it's not selectable) or the full text of the js __doPostBack hyperlink (if it is.) Also, use cell.RenderControl here so we can render child controls with the id's listed properly (and arguably incorrectly). (ApplyTitleStyleCell): remove. (WriteTitle): apply the titleStyle to the enclosing table, not the table cell containing the month name. Also, copy from the Calendar's ControlStyle to populate tableTitle's style initially. We end up with more (superfluous) style attributes than MS, but it's better than having less. 2005-08-25 Sebastien Pouliot * HyperLink.cs: Fixed 2.0 rendering for Alt and Border|BorderWidth when an image is used. 2005-08-25 Peter Dennis Bartok * Style.cs: Implemented 2.0 CopyTextStylesFrom(), SetRegisteredCssClass() and RegisteredCssClass property 2005-08-25 Sebastien Pouliot * LoginView.cs: Fixed attributes. * Style.cs: Change SetRegisteredCssClass to internal and not to throw an exception to allow pages to work on 2.x. 2005-08-25 Chris Toshok * LinkButton.cs (PostBackUrl): correct the UrlProperty attribute. * Unit.cs: add [Serializable] and the 2.0 specific ToString(), not yet implemented. * HiddenField.cs: stub out this class and label everything MonoTODO. 2005-08-25 Jackson Harper * DataGrid.cs: Disable the pager row if there no paging enabled or available. 2005-08-25 Chris Toshok * SqlDataSourceFilteringEventArgs.cs: add some usings, and fix a typo. * SqlDataSourceSelectingEventArgs.cs: IDbCommand -> DbCommand, and add a using statement. 2005-08-25 Chris Toshok * SqlDataSourceFilteringEventArgs.cs: new 2.0 class, as per corcompare. * SqlDataSourceFilteringEventHandler.cs: new 2.0 delegate, as per corcompare. 2005-08-25 Sebastien Pouliot * Login.cs: Added rendering and fixed parts of the authentication. Now using IStateManager to allow compilation in another assembly (e.g. to test the control under IIS). Needs more tests (error conditions) once we get a "real" Membership provider running. * Style.cs: Fixed IsStyleEmpty (name ;-) and when null is provided (returns true). 2005-08-25 Chris Toshok * SqlDataSourceCommandType.cs: new 2.0 enum, as per corcompare. 2005-08-25 Chris Toshok * AdRotator.cs: stub out enough of the 2.0 methods/properties by calling base.Foo to get the standalone adrotator (1.0) tests to run without throwing exceptions. 2005-08-25 Chris Toshok * ValidationSummary.cs (ValidationGroup): implement. (Render): use Page.GetValidators in .net 2.0, so we can support ValidationGroups. Also,
's get rendered as
in .net 2.0. 2005-08-25 Chris Toshok * ImageButton.cs (TagKey): disable (but flag) the "virtual new" 2.0 attribute modifiers, and revert back to "override". * ListBox.cs (BorderColor): disable (but flag) the "virtual new" 2.0 attribute modifiers, and revert back to "override". (BorderStyle): same. (BorderWidth): same. * TextBox.cs (SaveViewState): implement naively, calling base.SaveViewState. (TagKey): disable (but flag) the "virtual new" 2.0 attribute modifiers, and revert back to "override". 2005-08-25 Peter Dennis Bartok * Style.cs, TableStyle.cs, TableItemStyle.cs, DataGridPagerStyle.cs: Load ViewState for derived classes; no public LoadViewState override exists in those classes * Style.cs: Added 2.0 IsStyleEmpty method 2005-08-25 Jackson Harper * DataGrid.cs: The number of pages set in the pager is specified by PageButtonCount. 2005-08-25 Sebastien Pouliot * LoginView.cs: New (2.0). Work in progress. 2005-08-24 Chris Toshok * Button.cs, DetailsView.cs, FontInfo.cs, Style.cs, Xml.cs, Menu.cs, ObjectDataSource.cs, CheckBox.cs, RadioButton.cs, ListControl.cs, SiteMapPath.cs, BulletedList.cs, DataBoundControl.cs, ListItemCollection.cs, GridView.cs, Wizard.cs, TextBox.cs, CheckBoxList.cs, RadioButtonList.cs, PagedDataSource.cs, FormView.cs, AdRotator.cs, Repeater.cs, DropDownList.cs, MultiView.cs, HierarchicalDataBoundControl.cs, Calendar.cs, ListBox.cs, WebControl.cs, Literal.cs, ValidationSummary.cs, ImageButton.cs, LinkButton.cs, TreeView.cs: Add MonoTODO's for all things that throw NotImplementException. 2005-08-24 Sebastien Pouliot * RoleGroup.cs: New (2.0). Complete implementation. * RoleGroupCollection.cs: New (2.0). Mostly complete implementation. 2005-08-23 Chris Toshok * BaseCompareValidator.cs (GetFullYear): it turns out the docs up on msdn.microsoft.com tell exactly how the .net 2.0 stuff works, even though they were written for the 1.0 stuff. 2005-08-23 Chris Toshok * RepeatInfo.cs: some massaging to support both the 1.x and 2.0 output. Our tests now pass on both mono and ms, with both 1.x and 2.0 profiles. 2005-08-23 Sebastien Pouliot * Login.cs: Throw exception if the specified provider doesn't exists. * LoginStatus.cs: Complete events. 2005-08-22 Jackson Harper * DataGrid.cs (CreateControlHierarchy): Clear out the old pager after creating the controls. (InitializeNumericPager): Now that the pager actually renders properly I can see that I was computing it incorrectly. 2005-08-22 Jackson Harper * DataGrid.cs (RenderTable): Make sure the new table gets the correct style. (CreateColumnSet): Clear the data source columnbs before adding new ones regardless of whether or not a property descriptor was found. (InitializePager): pager_cell needs to be a member so it isn't created more then once per a render. (InitializeNumericPager): Compute start and end more correctly. - Link commands are 1 indexed. (CreateControlHierarchy): Clear the table before we begin rendering. - Revert patch that made adding the pagers conditional. This is incorrect, the pagers are always added. Only their visibility is affected by the pager style. - Save the entire count in the viewstate, not just the rendered count. So when paging is enabled the pager's count isn't broken by postback. 2005-08-22 Chris Toshok * LinkButton.cs (ValidationGroup): implement. (IPostBackEventHandler.RaisePostBackEvent): in the 2.0 profile, pass ValidationGroup to Page.Validate. 2005-08-22 Chris Toshok * ImageButton.cs (ValidationGroup): implement. (IPostBackEventHandler.RaisePostBackEvent): if we cause validation, call Page.Validate properly (in both profiles). 2005-08-22 Chris Toshok * Button.cs (IPostBackEventHandler.RaisePostBackEvent): in the 2.0 case, pass ValidationGroup to Page.Validate. (ValidationGroup): implement using ViewState. 2005-08-22 Chris Toshok * BaseValidator.cs (Text): 2.0 only. implement naively, just get/set base.Text. (OnInit): add 2.0 support for validation groups. (OnUnload): same. 2005-08-22 Sebastien Pouliot * LoginName.cs: New (2.0) web control. * LoginStatus.cs: New (2.0) web control. 2005-08-19 Chris Toshok * LinkButton.cs (ValidationGroup): implement getter/setter. (RaisePostBackEvent): implement naively, by c&p'ing the old implementation of IPostBackEventHandler.RaisePostBackEvent, but making use of the ValidationGroup in the call to Page.Validate. * Button.cs: same. * Style.cs (LoadViewState): set our style flags for all the things we have flags for. Seems like the subclass flags should be handled in overridden LoadViewState methods, but none of the Style subclasses seem to override this method. 2005-08-19 Chris Toshok * TableStyle.cs (Merge, MergeWith): make these look a bit more like Copy/CopyFrom, with the styles checks instead of just ViewState checks. * TableItemStyle.cs: same, only also make Copy/CopyFrom work as in TableStyle.cs. 2005-08-19 Chris Toshok * DataGrid.cs (InitializePager): don't unconditionally set pager_cell to the numeric pager (especially after setting it conditionally to the nextprev pager.) (InitializeNumericPager): the link buttons don't participate in validation. (InitializeNextPrevPager): same. (CreateControlHierarchy): create the top/bottom pagers only if the PagerStyle says too. 2005-08-19 Sebastien Pouliot * TableCell.cs: Added AssociatedHeaderCellID property for 2.0. 2005-08-18 Chris Toshok * DataList.cs (CreateControlHierarchy): Call Controls.Clear() at the start of this method so templates are created properly. 2005-08-18 Dick Porter * Button.cs, DetailsView.cs, Xml.cs, Table.cs, Menu.cs, DataControlButton.cs, Label.cs, ObjectDataSource.cs, CheckBox.cs, RadioButton.cs, ListControl.cs, Image.cs, SiteMapPath.cs, BaseDataList.cs, DataList.cs, BulletedList.cs, DataBoundControl.cs, Login.cs, GridView.cs, CompositeDataBoundControl.cs, Wizard.cs, BaseValidator.cs, TextBox.cs, CheckBoxList.cs, RadioButtonList.cs, FormView.cs, AdRotator.cs, Repeater.cs, MenuItemTemplateContainer.cs, DropDownList.cs, HyperLink.cs, ImageMap.cs, MultiView.cs, CompositeControl.cs, HierarchicalDataBoundControl.cs, Calendar.cs, ListBox.cs, TableCell.cs, WebControl.cs, Literal.cs, BaseDataBoundControl.cs, ValidationSummary.cs, ImageButton.cs, LinkButton.cs, TreeView.cs: 2.0 API fixes and stubs, and attribute fixes 2005-08-18 Sebastien Pouliot * BaseDataList.cs: Added a TODO for DataKeyField as we're not using it anywhere... * DataList.cs: Reworked CreateControlHierarchy to avoid allocating an empty array of objects just to get the number of items. * Login.cs: Implemented OnBubbleEvent and parts of the authentication but we're missing some bits from the class lib to complete all this... 2005-08-17 Jackson Harper * DataGrid.cs: Only create one pager and add it to both the top and bottom of the grid, this way all the id numbers stay the same and we save a bunch of cycles. 2005-08-17 Jackson Harper * DataGrid.cs: The top and bottom pagers are always created. Just the visibility is changed by the PagerStyle::Position. 2005-08-17 Chris Toshok * CompositeControl.cs (RecreateChildControls): implement naively - just call CreateChildControls. We might need to call Controls.Clear() as well, but for the time being, this is ok. 2005-08-17 Sebastien Pouliot * BaseDataList.cs: Completed implementation for 2.0. 2005-08-16 Sebastien Pouliot * BaseDataList.cs: Added missing properties/methods/attributes for 2.0. * DataList.cs: Added missing [Browseable] attribute on SelectedValue. 2005-08-16 Sebastien Pouliot * BaseDataList.cs: Removed old internal ctor as DataList TagKey was fixed for 2.0. * DataList.cs: Implemented {Load|Save}ControlState and OnInit (2.0). Adjusted size and ordering of the ViewState (new element #0 is still unknown). Properly fixed the TagKey in 2.0. * Login.cs: Implemented {Load|Save|Track}ViewState. Added checks for all properties using enums. * Panel.cs: Fixed NoWrap rendering unit test (for 2.0). * TableItemStyle.cs: Fixed attribute rendering to use style to render "nowrap" in 2.0 (it used the HTML nowrap attribute in 1.x). 2005-08-15 Jackson Harper * EditCommandColumn.cs: Use a normal LinkButton. 2005-08-15 Sebastien Pouliot * Image.cs: Don't remove GenerateEmptyAlternateText (2.0) from the viewstate (even if assigned to the default value). * TableRow.cs: Implement TableSection property (2.0). It has no effect on the rendering of the table row. 2005-08-15 Sebastien Pouliot * BaseDataList.cs: Added new [Themeable] and [Localizable] attributes and removed [Bindable] attributes for 2.0. * DataList.cs: Added new 2.0 attributes on class and removed [Bindable] attributes (for 2.0). * DataListCommandEventArgs.cs: Not sealed in 2.0. * DataListItemEventArgs.cs: Not sealed in 2.0. * Image.cs: Fixed [Designer] attribute on class and all [Editor] attributes for URLs. * Login.cs: Fixed [Designer] attribute on class and all [Editor] attributes for URLs. * Table.cs: Fixed [Editor] attribute for 2.0. * TableCellCollection.cs: Fixed [Editor] attribute for 2.0. * TableCell.cs: Fixed [Designer] attribute. Fixed property name for AssociatedHeaderCellID and it's [DefaultValue] attribute. * TableHeaderCell.cs: Fix [DefaultValue] attributes for CategoryText and Scope attributes. * TableRow.cs: Fixed [Designer] attribute. Added missing [DefaultValue] on TableSection attribute. * TableRowCollection.cs: Fixed [Editor] attribute for 2.0. 2005-08-14 Sebastien Pouliot * Image.cs: Fixed attributes for 2.0 profile. * Login.cs: Fixed some attributes and default values. * Table.cs: Fixed attributes for 2.0 profile. Added protected method RaisePostBackEvent (TODO) in 2.0 profile. * TableCell.cs: Fix properties (Bindable, Localizable, Designer...) and added AssociateHeaderCellID property (TODO). * TableCellCollection.cs: Fixed [Editor] attribute for 2.0. * TableFooterRow.cs: New (2.0). TableRow that always shows on each page (if the device requires to breaks the table into multiple pages). This seems to be a "flag" class, the real work will be in Table. * TableHeaderCell.cs: Added CategoryText and Scope properties for 2.0. * TableHeaderRow.cs: New (2.0). TableRow that always shows on each page (if the device requires to breaks the table into multiple pages). This seems to be a "flag" class, the real work will be in Table. * TableItemStyle.cs: Remove [Bindable (true)] from 2.0 profile. * TableRow.cs: Remove [Bindable (true)] from properties and add [Bindable (false)] and [Designer] on class. Added new TableSection property (TODO). * TableRowCollection.cs: Fixed [Editor] attribute for 2.0. * TableSectionStyle.cs: New (2.0). Add Visible to Style - but it's broken (int beta2) for IsEmpty, CopyFrom, MergeWith... * TableStyle.cs: Fixed attributes for 2.0 profile. Added new FillStyleAttributes method (2.0). 2005-08-13 Sebastien Pouliot * Login.cs: New (2.0). Mostly a stub with copy-n-pasted code and attributes from existing controls. * LoginCancelEventArgs.cs: New (2.0). Required to build Login. * LoginCancelEventHandler.cs: New (2.0). Required to build Login. 2005-08-12 Jackson Harper * TableRow.cs: No AutoID for TableRows. 2005-08-12 Jackson Harper * DataGrid.cs (CreateRenderColumns): If we aren't using data binding grab the rendercols from the data source columns. (LoadViewState): Restore the bound columns when reloading the viewstate. (InitializeNumericPager): Create elipsised pagers. (CreateItem): Don't set the item's ID. (CreateItem): Add the control to the table before it is databound so that it's value is saved in the viewstate. (CreateControlHierarchy): Create a fake data source when not using databinding. Don't add controls to the table as they are added in CreateItem now. (PrepareControlHierarchy): Make footers and header non visible if they aren't enabled. 2005-08-12 Chris Toshok * CompositeControl.cs (DataBind, Render, get_Controls): the MSDN docs says these methods/properties "ensure the child controls are created" -- so call EnsureChildControls() before invoking the base class's code. 2005-08-12 Jackson Harper * BoundColumn.cs: Set the controls text instead of adding a literal control. So it is saved in the controls viewstate. 2005-08-11 Jackson Harper * CheckBoxList.cs: Set the tabindex on the checkbox control and don't render it on the main table (Setting it to zero causes it to not be rendered). Also use the invariant culture on the id. 2005-08-11 Dick Porter * CheckBox.cs: Let ViewState manage removals; apply styles and "style" attributes in a surrounding . Fixes unit tests. 2005-08-10 Chris Toshok * Label.cs (LoadViewState): set the Text attribute from our ViewState (if it exists) to clear out any child controls. Fixes jsunit test label/label-child-control-postback.aspx. 2005-08-10 Jackson Harper * PagedDataSource.cs: Respect paging with all data source types. 2005-08-09 Sebastien Pouliot * BaseDataList.cs: Changed Controls property from "virtual new" (2.0 doc) to "override" (monop) to fix the Visible bug (see datalist-invisible.aspx). Fixed AddParsedSubObject not to accept any controls (required due to change to Controls). Implemented DataBind(bool) for 2.0. * DataListItem.cs: Fix the multiple table when extractRows is used. Removed extra span tags by rendering contents (not control). Added support for IDataItemContainer (2.0). 2005-08-08 Jackson Harper * DataGrid.cs: Apply the styles to each item type. 2005-08-08 Jackson Harper * PagedDataSource.cs: If paging is not enabled keep enumerating to the end of the list. 2005-08-08 Sebastien Pouliot * BaseDataList.cs: Remove old compatibility stuff. * DataList.cs: Fix the edit|update for datalist-style-edit.aspx. * WebControl.cs: Always call CreateControlStyle to create the ControlStyle. Fix the exception for datalist-style-edit.aspx. 2005-08-05 Jackson Harper * DataGrid.cs: Don't make the current page index a link in the pager. 2005-08-05 Jackson Harper * DataGrid.cs: Honour PagerPosition. 2005-08-05 Jackson Harper * PagedDataSource.cs: Round PageCount properly. 2005-08-05 Dick Porter * CheckBox.cs: Shut corcompare up a bit more. Still need to figure out how to not use AddAttributesToRender to get it completely silent. * ButtonColumn.cs: Implement Initialize() and InitializeCell() * DataGridColumn.cs: Added the duplicate viewstate manipulation methods 2005-08-05 Chris Toshok * HyperLinkColumn.cs (FormatDataNavigateUrlValue): treat "" as null when it comes to the format string. (FormatDataTextValue): same. 2005-08-04 Chris Toshok * BaseValidator.cs (Validate): only test a validator if it's both enabled and visible. 2005-08-04 Chris Toshok * BaseValidator.cs (AddAttributesToRender): add "enabled" if !Enabled. 2005-08-04 Jackson Harper * DataGrid.cs: Add a new space control for each link. Also make the link's text 1 indexed. Don't add the space after the last item. 2005-08-04 Ben Maurer * LinkButton.cs: Fix up the test suite here. * Panel.cs: Fix up nowrap 2005-08-04 Peter Dennis Bartok * ListBox.cs: Use WriteXXXX to render HTML, this way it matches MS output * ListControl.cs: Clear item list before adding data (again) 2005-08-04 Jordi Mas i Hernandez * Calendar.cs: fixes issues with OnDayRender event and others 2005-08-04 Peter Dennis Bartok * DataGrid.cs(CreateControlHierarchy): Consider the EditItemIndex when creating rows * ListControl.cs(OnDataBinding): Only apply DataTextFormatString to text if DataTextField is bound * EditCommandColumn.cs(InitializeCell): MS inserts a   between the two controls in edit mode, lets do the same 2005-08-03 Jackson Harper * BoundColumn.cs: Respek for the thisExpr when data binding. 2005-08-03 Peter Dennis Bartok * EditCommandColumn.cs: No need to offer edit when in edit mode. Flipped output 2005-08-04 Dick Porter * DataGridColumn.cs: New implementation * DataGrid.cs: * DataGridColumnCollection.cs: Set the DataGridColumn's owner 2005-08-03 Peter Dennis Bartok * WebControl.cs(CopyBaseAttributes): Use Enabled setter to also set tracking var 2005-08-03 Ben Maurer * RepeatInfo.cs: Finally figured out how to use base control 2005-08-03 Jackson Harper * ButtonColumn.cs: Partial implementation. 2005-08-03 Peter Dennis Bartok * DataGridPagerStyle.cs(PageButtonCount): Throw exception on negative value 2005-08-03 Jordi Mas i Hernandez * Calendar.cs: fixes Save/Load state 2005-08-03 Jordi Mas i Hernandez * Calendar.cs: bug fixes 2005-08-03 Jackson Harper * DataGrid.cs: Merge the table style with the render table. Some initial work on the numeric pager. Remove some debugging code. 2005-08-03 Jackson Harper * BoundColumn.cs: Implement Initialize and InitializeCell. When Data is formated it uses the DataFormatString that was set at the time Initialize was called (or null if initialize was never called). 2005-08-02 Jordi Mas i Hernandez * RadioButtonList.cs: bug fixes 2005-08-02 Jordi Mas i Hernandez * CheckBox.cs, RadioButton.cs: mecanism to avoid exposing AddAttributesToRender * RadioButtonList.cs: Implementation 2005-08-01 Jackson Harper * TableStyle.cs: Copy style bit when copying from another style. 2005-08-01 Jackson Harper * PagedDataSource.cs: Implement missing properties, use yield for the Enumerator methods. Only allow the enums to return one page at a time. 2005-08-01 Chris Toshok * HyperLinkColumn.cs (ItemDataBinding): remove incorrect comment. 2005-08-01 Peter Dennis Bartok * WebControl.cs: Track enabled state across sessions 2005-08-01 Peter Dennis Bartok * ListControl.cs(OnDatabinding): Value is equivalent to text if by default 2005-08-01 Jordi Mas i Hernandez * ImageButton.cs: fixes, complete missing parts 2005-07-31 Ben Maurer * TextBox.cs: Html encode for multiline text boxes * HyperLink.cs: Resolve images 2005-07-30 Chris Toshok * BaseValidator.cs: initial version of 2.0 properties ValidationGroup and SetFocusOnError. 2005-07-30 Chris Toshok * HyperLinkColumn.cs (InitializeCell): clean this up. 2005-07-30 Chris Toshok * HyperLinkColumn.cs (FormatDataNavigateUrlValue): just use DataBinder.FormatResult. (FormatDataTextValue): same. (Initialize): call base.Initialize. (ItemDataBinding): new function, get the text/navigateurl and set them on our HyperLink control. (InitializeCell): create a hyperlink control in the Item/EditItem/AlternatingItem case. 2005-07-30 Ben Maurer * RepeatInfo.cs: Handle 0 items situations correctly * HyperLink.cs: Resolve urls correctly * CheckBox.cs: use the correct ID for the label element. * Label.cs: Correct AddParsedSubObject impl. See FAQ 2005-07-29 Chris Toshok * BaseCompareValidator.cs (GetDateElementOrder): implement. 2005-07-29 Chris Toshok * BaseCompareValidator.cs (GetFullYear): implement two ways. The #if'ed out version follows microsoft's docs on msdn, but doesn't match ms's behavior. The other matches their behavior but not their docs. we use the latter. go figure. (get_CutoffYear): implement using CultureInfo.CurrentCulture.Calendar.TwoDigitYearMax. 2005-07-27 Peter Dennis Bartok * FontInfo.cs: - Name property now throws exception when set to null - Names now handles situation where our bit tells us we have a font, but it's not in the StateBag (null removal) * RangeValidator.cs: Removed unused vars 2005-07-29 Ben Maurer * Label.cs: ClientID should be used rather than UniqueID to get the For attribute 2005-07-29 Chris Toshok * BaseValidator.cs (Validatate): not sure if this is entirely correct (some fairly deep testing required), but setting Enabled = false has the effect of setting IsValid = true. 2005-07-29 Ben Maurer * RadioButton.cs: The "remove from groupstate" isn't needed any more, now that statebag is correct. 2005-07-29 Dick Porter * RadioButton.cs: Hide nonstandard API; remove GroupName from the ViewState when it is null. * CheckBox.cs: Hide nonstandard API 2005-07-29 Jordi Mas i Hernandez * Calendar.cs: fixes exceptions, bug fixes, new features * SelectedDatesCollection.cs: Fixes bugs discovered by the tests * CalendarDay.cs: fixes default value 2005-07-28 Ben Maurer * CompositeControl.cs: Stub 2005-07-27 Peter Dennis Bartok * EditCommandColumn.cs: Implemented 2005-07-27 Chris Toshok * RegularExpressionValidator.cs (EvaluateIsValid): "" is valid. 2005-07-27 Peter Dennis Bartok * CustomValidator.cs: Bug fixes (Thanks to Chris for creating the client side code) 2005-07-27 Peter Dennis Bartok * DataGrid.cs: DataGridPagerStyle does not need DataGrid as argument for it's constructor, so remove it * DataGridPagerStyle.cs: Removed DataGrid argument from constructor 2005-07-27 Peter Dennis Bartok * DataGridPagerStyle.cs: Implemented * TableItemStyle.cs (MergeWith): Now only sets style bits it owns * Style.cs: Added Styles enum values for DataGridPagerStyle 2005-07-27 Jordi Mas i Hernandez * Calendar.cs: get the styles right, honors more properties, fixes, fix var names style 2005-07-26 Peter Dennis Bartok * DataGridItem.cs: Implemented 2005-07-26 Chris Toshok * LinkButton.cs (AddParsedSubObject): reversed the order of Controls.Add() and Text = null (set_Text): call Controls.Clear() (RenderContents): use HasControls() for the if test instead of Text != "". * HyperLink.cs (AddParsedSubObject): reversed the order of Controls.Add () and Text = null; 2005-07-26 Peter Dennis Bartok * DataGridItemCollection.cs: Implemented 2005-07-26 Chris Toshok * LinkButton.cs (AddParsedSubObject): copy implementation from HyperLink. (RenderContents): only call writer.Write(Text) if Text != "". Otherwise default to base.RenderContents. 2005-07-26 Chris Toshok * Button.cs, CheckBox.cs, TextBox.cs, DropDownList.cs, ListBox.cs, ImageButton.cs, LinkButton.cs (AddAttributesToRender): add if (Page != null) around my last commit. 2005-07-26 Peter Dennis Bartok * FontInfo.cs, CheckBox.cs, RadioButton.cs, ListItemCollection.cs: Fixed use of literal strings, instead using Consts * Xml.cs, RegularExpressionValidator.cs, TemplateColumn.cs, TextBox.cs, RequiredFieldValidator.cs, Repeater.cs, RepeaterItem.cs, Panel.cs, Literal.cs: Added attributes * BaseValidator.cs: Added missing override 2005-07-26 Chris Toshok * Button.cs, CheckBox.cs, TextBox.cs, DropDownList.cs, ListBox.cs, ImageButton.cs, LinkButton.cs (AddAttributesToRender): call Page.VerifyRenderingInServerFormHere. 2005-07-26 Chris Toshok * BaseValidator.cs: remove some MonoTODO's about the client side validator stuff. 2005-07-26 Jordi Mas i Hernandez * Calendar.cs: selection of dates, state load, save, track, support for new properties, many fixes. 2005-07-26 Miguel de Icaza * Style.cs: Temporary methods to help buliding .NET 2.x 2005-07-25 Peter Dennis Bartok * BaseValidator.cs: Added AssociateControlID (new in sp1), fixed attributes * Xml.cs: Fixed base class, attributes * Button.cs, DataGridColumnCollection.cs, HyperLinkColumn.cs, Label.cs, ListItem.cs, ListControl.cs, CustomValidator.cs, CheckBoxList.cs, AdRotator.cs, DropDownList.cs, HyperLink.cs, DataGrid.cs, ButtonColumn.cs, CompareValidator.cs, Calendar.cs, ListBox.cs, ImageButton.cs, LinkButton.cs: Attribute fixes 2005-07-25 Ben Maurer * RepeatInfo.cs: WOOHOOO! all tests pass. Boy is this class cracktastic. 2005-07-25 Ben Maurer * RepeatInfo.cs: If the repeater has one column, the separators are rendered on a different line 2005-07-25 Peter Dennis Bartok * DataGridSortCommandEventArgs: Sealed class * ButtonColumn.cs, Calendar.cs: Added Attributes 2005-07-25 Peter Dennis Bartok * Button.cs, Style.cs, BaseCompareValidator.cs, RangeValidator.cs, BaseValidator.cs, AdRotator.cs, BoundColumn.cs: Added Attributes 2005-07-25 Peter Dennis Bartok * FontInfo.cs, Style.cs, RangeValidator.cs, ListItemCollection.cs, DropDownList.cs, WebControl.cs, ValidationSummary.cs: Added Attributes 2005-07-25 Chris Toshok * ValidationSummary.cs (AddAttributesToRender): add client side support. (OnPreRender): set the "been here" flag. (Render): add client side support. 2005-07-25 Ben Maurer * RepeatInfo.cs: Split the horiz and vertical cases, because this class has rules that are beyond strange. Continue working to make my tests work. 2005-07-25 Ben Maurer * RepeatInfo.cs: Misc fixes for my test suite. 2005-07-25 Jackson Harper * DataGrid.cs: Set the command name and args on the link buttons. 2005-07-25 Jackson Harper * DataGrid.cs: Lots o implementation. 2005-07-25 Jackson Harper * BoundColumn.cs: Partial implementation to get the DataGrid tests passing again. 2005-07-23 Jordi Mas i Hernandez * Button.cs: fixes events, adds attributes 2005-07-23 Chris Toshok * BaseValidator.cs (GetControlValidateValue): handle ListItems as prop.GetValue results. (Render): fix the static non-uplevel case, so that we display text when there's an error. 2005-07-22 Chris Toshok * RegularExpressionValidator.cs (AddAttributesToRender): only output ValidationExpression if it's != null. 2005-07-22 Chris Toshok * BaseValidator.cs (AddAttributesToRender): fix up the Display rendering such it matches MS's output. (Render): stop using the huge complicated if's for each output stage and move to boolean flags, and fix the static-nonuplevel case, where a validator outputs as nothing but   2005-07-22 Jordi Mas i Hernandez * Calendar.cs: Initial implementation * CalendarSelectionMode.cs: fix enum order 2005-07-22 Sebastien Pouliot * DataList.cs: Rewrote the IRepeatInfoUser.RenderItem to support all (or more?) specific cases - including correct support for separators. Added some (commented) debugging code. * HyperLink.cs: Only render href and target attributes if they're not empty. Add "border=0" when rendering tag. Fix Target default value. 2005-07-22 Peter Dennis Bartok * Style.cs (CopyFrom): Reset must go, MS doesn't do it (See tests) 2005-07-22 Peter Dennis Bartok * Style.cs (CopyFrom): Reset our styles and don't set bits from target explicitly, properties will set them 2005-07-22 Dick Porter * BoundColumn.cs: * ButtonColumn.cs: Initial stubs 2005-07-22 Dick Porter * RadioButton.cs: * CheckBox.cs: Add assembly attributes 2005-07-22 Ben Maurer * HyperLink.cs: Handle non-literal children. 2005-07-21 Ben Maurer * Label.cs: SP1 stuff 2005-07-21 Chris Toshok * BaseValidator.cs (RegisterValidatorCommonScript): remove the NS4 stuff that I c&p'ed from elsewhere - NS4 doesn't support the DOM1 stuff WebUIValidation.js uses, so we don't support it for uplevel rendering. 2005-07-21 Chris Toshok * BaseValidator.cs (DetermineRenderUplevel): include checks for the EcmaScriptVersion and W3CDomVersion. 2005-07-21 Sebastien Pouliot * BaseDataList.cs: Support IEnumerable. * DataList.cs: Fix alternate items. * TableCell.cs: Fixed AddParsedSubObject to work nicely with existing controls and the Text property. 2005-07-21 Ben Maurer * TextBoxMode.cs: Wrong ordering of enum... 2005-07-21 Chris Toshok * BaseValidator.cs (OnPreRender): call DetermineRenderUplevel and cache the results. 2005-07-21 Chris Toshok * BaseValidator.cs (get_PropertiesValid): use our containing NamingContainer, not ourselves, to look up controls. (CheckControlValidationProperty): same. (GetControlRenderID): same. (GetControlValidationValue): same. (AddAttributesToRender): add the display style attribute if Display != Static, and add the value of IsValid if it's false. (DetermineRenderUplevel): use a try block around (Page.Request) since that can raise an exception. (OnPreRender): set pre_render_called, so we can consult it in Render. (Render): complicate this method more to handle more of the Display/pre_render_called permutations. 2005-07-21 Peter Dennis Bartok * CustomValidator.cs: Initial implementation, still work in progress 2005-07-21 Sebastien Pouliot * DataList.cs: Fix rendering for special items (-1). 2005-07-21 Ben Maurer * RepeatInfo.cs: Fix most of the tests. 2005-07-21 Sebastien Pouliot * Image.cs: Call ResolveUrl for ImageUrl and DescriptionUrl properties. Add a border=0 attribute if no style is defined. * TableCell.cs: Use HtmlTextWriterTag (not a string). * TableHeaderCell.cs: Use HtmlTextWriterTag (not a string). * TableRow.cs: Use HtmlTextWriterTag (not a string). 2005-07-21 Sebastien Pouliot * BaseDataList.cs: Fix attributes. * HorizontalAlign.cs: Fix attributes. * Image.cs: Fix attributes and enums checks. * Table.cs: Fix attributes an enums checks. * TableCell.cs: Fix attributes. * TableCellCollection.cs: Fix attributes. * TableItemStyle.cs: Fix attributes and enums checks. * TableRowCollection.cs: Fix attributes. * TableRow.cs: Fix attributes. * TableStyle.cs: Fix attributes and enums checks. * VerticalAlign.cs: Fix attributes. 2005-07-21 Sebastien Pouliot * BaseDataList.cs: Remove/#if-out useless/2.0 stuff. * DataList.cs: Added rendering support when ExtractTemplatesRows property is true (but RepeatInfo needs to be fixed to see it works). * DataListItem.cs: Added rendering support when extractRows parameter is true (but RepeatInfo still needs to be fixed ;-) 2005-07-21 Duncan Mak * HyperLinkColumn.cs: Initial implementation. Todo: Figure out Initialize and InitializeCell. 2005-07-20 Chris Toshok * BaseValidator.cs: don't use Page.FindControl, use this Control's FindControl, so it'll use the same naming container. 2005-07-21 Duncan Mak * DataGridCommandEventArgs.cs: * DataGridPageChangedEventArgs.cs: * RepeaterCommandEventArgs.cs: Fixed visibility. * DataGridPageChangedEventArgs.cs (CommandSource): Fixed typo. * DataGridSortCommandEventArgs.cs (CommandSource): Ditto.. 2005-07-20 Chris Toshok * Button.cs: hook up the client side validation stuff. * ImageButton.cs: same. * LinkButton.cs: same, although it's a little more complicated here. 2005-07-20 Peter Dennis Bartok * DropDownList.cs: - Implemented RaisePostDataChangedEvent() - Spewing postback command if AutoPostBack is true 2005-07-20 Chris Toshok * BaseValidator.cs: another Page != null check when uplevel rendering. 2005-07-20 Chris Toshok * BaseValidator.cs: check Page != null when determining if we're rendering uplevel or not. 2005-07-20 Peter Dennis Bartok * ListItemCollection.cs: Removed obsolete method that's no longer referenced 2005-07-20 Peter Dennis Bartok * DropDownList.cs: Oops. Forgot to implement LoadPostData * ListItemCollection.cs: Added convenience method to have faster PostData handling 2005-07-20 Peter Dennis Bartok * DropDownList.cs: - Automatically select the first item if none are selected - Throw exception if more than one item is selected 2005-07-20 Sebastien Pouliot * DataList.cs: Fix style handling for RepeatLayout.Flow (which isn't handled by RepeatInfo). 2005-07-20 Jackson Harper * DataGrid.cs: Store the data source created columns in a DataGridColumnCollection. This way they can be put in the view state more easily, and accessed without casting. 2005-07-20 Chris Toshok * BaseValidator.cs (AddAttributesToRender): render the client side attributes if we're in uplevel mode. (DetermineRenderUplevel): flesh out a bit - for now basically return true unless the control has it disabled. (OnInit): only add the validator to Page's list if there is, in fact, a page. (OnUnload): same for removal. (OnPreRender): hook up client scripting stuff here. Only the call to RegisterValidatorCommonScript is a for sure thing here, the registering of the submit statement and startup script should probably go elsewhere, but I don't know where. (RegisterValidatorCommonScript): register the