2005-04-20 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
[mono.git] / mcs / class / System.Web / System.Web.UI / ChangeLog
1 2005-04-20  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
2         * TemplateParser.cs: Adding support for Strict/Explicit attributes 
3         for @Page/@Control directives as documented at 
4         http://msdn.microsoft.com/library/en-us/cpgenref/html/cpconControlDirective.asp.
5         First step don't choke on them. Fixing #74671
6
7 2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
8
9         * TemplateParser.cs: use Load instead of LoadWithPartialName. That was
10         there from the time when Load wasn't working properly. First part of the
11         fix to 74500.
12
13 2005-04-15  Lluis Sanchez Gual <lluis@novell.com>
14
15         * ControlBuilder.cs: The BindingContainerType property happens
16         to exist in 2.0, so I made it public. Added ParentTemplateBuilder,
17         which is used to get the binding container that is managing
18         the current two-way binding context.
19         * TemplateBuilder.cs: Added some methods and an internal class
20         to support two-way bindings.
21         * CompiledBindableTemplateBuilder.cs: Implemented.
22         * IBindableTemplate.cs: This interface inherits from ITemplate.
23
24 2005-04-14  Lluis Sanchez Gual <lluis@novell.com>
25
26         * ControlBuilder.cs: Added BindingContainerType property,
27         which works like NamingContainerType but takes into account
28         template builders with a specific container type (specified
29         using the TemplateContainerAttribute.
30         * StateManagedCollection.cs: Reimplemented Save/Load view
31         state methods. The existing implementation was not correct
32         in all cases.
33
34 2005-04-08  Lluis Sanchez Gual <lluis@novell.com>
35
36         * DataSourceView.cs: Added null check.
37
38 2005-04-07  Lluis Sanchez Gual <lluis@novell.com>
39
40         * TemplateControl.cs:
41         * Page.cs: Moved Eval and XPath from Page
42         to TemplateControl.
43         * StateManagedCollection.cs: Avoid saving null state.
44
45 2005-04-01  Lluis Sanchez Gual <lluis@novell.com>
46
47         * DataSourceView.cs: Rethrow exceptions not handled by operation
48         callbacks.
49         * ITextControl.cs: Removed event.
50         * CollectionBuilder.cs: Don't crash when a collection has more
51         than one indexer.
52
53 2005-03-23  Lluis Sanchez Gual <lluis@novell.com>
54
55         * Control.cs: Added a new internal property: HasRenderMethodDelegate.
56         * HtmlTextWriterAttribute.cs: Replaced wrong enum value.
57         * HtmlTextWriter.cs: Register new ASP.NET 2.0 attributes
58
59 2005-03-16  Lluis Sanchez Gual  <lluis@novell.com>
60
61         * ClientScriptManager.cs: Fix build.
62
63 2005-03-11  Lluis Sanchez Gual <lluis@novell.com>
64
65         * Utils.cs, Control.cs: Don't use Page.GetPostBackClientEvent
66         since it is deprecated in 2.0.
67         * Page.cs: Deprecated GetPostBackClientEvent and similar methods
68         in 2.0. Moved callback management methods to ClientScriptManager.
69         * ClientScriptManager.cs: Moved here deprecated methods from Page.
70         In GetPostBackEventReference (PostBackOptions), don't use the
71         WebForm_DoPostback script if the post can be done with a simple
72         __doPostBack call.
73         * PostBackOptions.cs: Fixed default values for some properties.
74
75 2005-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
76
77         * Control.cs: in FindControl, throw if there's more than one control
78         with the same ID. Fixes bug #73479.
79
80 2005-03-04  Lluis Sanchez Gual <lluis@novell.com>
81
82         * Page.cs: Load control state before loading view state, and the
83         same for saving.
84         * DataSourceSelectArguments.cs: Fix recursive property call.
85
86 2005-02-25  Lluis Sanchez Gual <lluis@novell.com>
87
88         * DataSourceView.cs: Fixed incorrect implementation of
89         RaiseUnsupportedCapabilityError.
90         * IDataItemContainer.cs: Added new properties.
91         * Page.cs: Implemented Form property.
92         * Control.cs: Fixed formatting.
93         * StateManagedCollection.cs: Track view state of items loaded
94         in LoadViewState.
95
96 2005-02-22  Lluis Sanchez Gual <lluis@novell.com>
97
98         * FilterableAttribute.cs: Fix endless loop.
99
100 2005-02-18  Lluis Sanchez Gual <lluis@novell.com>
101
102         * Page.cs: Implemented missing events.
103
104 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
105
106         * BoundPropertyEntry.cs:
107         * PropertyEntry.cs:
108         * TwoWayBoundPropertyEntry.cs: implemented.
109
110 2005-02-10  Lluis Sanchez Gual <lluis@novell.com>
111
112         * Page.cs: Added support for validation groups. Some fixes in
113         SavePageControlState().
114         * IFilterResolutionService.cs: Removed extra field.
115         * INavigateUIData.cs: Added missing field.
116         * ICheckBoxControl.cs, IStaticTextControl.cs, ITextControl.cs:
117         Implemented new interfaces.
118
119 2005-02-04  Lluis Sanchez Gual <lluis@novell.com>
120
121         * Page.cs: Implemented support for cross page postback. Implemented
122         support for postback with options. Fixed several method and property
123         signatures for 2.0.
124         * PostBackOptions.cs: Added some TODOs.
125
126 2005-02-02  Lluis Sanchez Gual <lluis@novell.com>
127
128         * ParseChildrenAttribute.cs: Set the correct default value for the
129         childType property.
130
131 2005-01-28  Lluis Sanchez Gual <lluis@novell.com>
132
133         * ParseChildrenAttribute.cs: Added 2.0 property.
134         * Pair.cs, Triplet.cs: Make classes serializable and sealed in 2.0.
135         * Page.cs: Added support for control state.
136         * TemplateBuilder.cs: ContainerType should be internal.
137         * Control.cs: Added some new 2.0 methods.
138
139 2005-01-21  Lluis Sanchez Gual <lluis@novell.com>
140
141         * PageParser.cs: Read the MasterPageFile attribute.
142         * UserControlParser.cs: Not sealed any more since we need to inherit from
143         it. Added new constructor with an additional "type" parameter.
144         * MasterPageParser.cs: Parser for master pages.
145         * Page.cs: Added support for master pages.
146         * MasterPage.cs: Implemented.
147
148 2005-01-10  Lluis Sanchez Gual <lluis@novell.com>
149         
150         * TemplateBuilder.cs: Added a special constructor that takes an
151         attribute provider as parameter. The container type for the template
152         may be defined in a TemplateContainerAttribute.
153         * ControlBuilder.cs: Create the TemplateBuilder using that special
154         constructor.
155         * TemplateContainerAttribute.cs: Added 2.0 property and ctor.
156
157 2004-12-20 Lluis Sanchez Gual  <lluis@novell.com>
158
159         * IStyleSheet.cs: Added missing "using".
160         * Page.cs: Implemented Header property.
161         * CssStyleCollection.cs: Made BagToString method internal.
162         * RootBuilder.cs: Register HtmlHead control.
163         
164 2004-12-17 Lluis Sanchez Gual  <lluis@novell.com>
165
166         * CssStyleCollection.cs: Minor (!) fix.
167         * HtmlTextWriter.cs: Register names for new 2.0 styles.
168
169 2004-12-17 Lluis Sanchez Gual <lluis@novell.com>
170
171         * CssStyleCollection.cs: Make it work as a standalone collection.
172         * HtmlTextWriter.cs: Added static method for getting style names.
173
174 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
175
176         * ControlCollection.cs: fix off-by-one and store a null at the end to
177         remove the reference to the removed control.
178
179 2004-12-10 Lluis Sanchez Gual <lluis@novell.com>
180
181         * ClientScriptManager.cs: Added GetScriptLiteral helper method.
182         
183 2004-12-02 Lluis Sanchez Gual <lluis@novell.com>
184
185         * Page.cs: Added support for callback events. Moved theform variable
186         outside the __doPostBack function, so it can be used by other
187         scripts.
188         * StateBag.cs: Implemented SetDirty().
189
190 2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
191
192         * Control.cs: when saving "Visible" into the ViewState, save the value
193         for this precise control, as using the Visible property might give us
194         Control's parent visibility. Fixes bug #69200.
195
196 2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
197
198         * Control.cs: fixed ResolveUrl for relative URLs when using cookie-less
199         sessions.
200
201         * System.Web.Util/UrlUtils.cs: made (Insert|Get|Remove)SessionId use
202         the appRoot + SessionID + vpath format.
203
204         Fixes the 3 issues reported in bug #66623.
205
206 2004-11-26 Lluis Sanchez Gual <lluis@novell.com>
207
208         * Page.cs: Moved code for managing client scripts to ClientScriptManager,
209         which is public in 2.0 and internal in 1.1.
210         * ClientScriptManager.cs: Implemented.
211
212 2004-11-25 Sanjay Gupta <gsanjay@novell.com>
213
214         * DataSourceView.cs: Removed extra method.
215
216 2004-11-24 Sanjay Gupta <gsanjay@novell.com>
217         
218         * DataSourveViewSelectCallback.cs: Corrected method signature.
219
220 2004-11-23 Lluis Sanchez Gual <lluis@novell.com>
221
222         * ControlBuilder.cs: Always check for the ParseChildrenAttribute,
223         even if the class doesn't implement IParserAccessor.
224         * WebResourceAttribute.cs: Allow multiple attributes of this type.
225
226 2004-11-15 Lluis Sanchez Gual <lluis@novell.com>
227
228         * DataSourceView.cs: Moved here implementation of DataSourceViewChanged 
229         from SqlDataSourceView.cs.
230
231 2004-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
232
233         * Control.cs: unified a few bool fields into an int one.
234
235         * ControlCollection.cs: use an array internally instead of always
236         allocating an arraylist. Also added our own enumerator.
237         
238         * EmptyControlCollection.cs: there's no 'special' ctor now in the base
239         class.
240
241 2004-11-05 Sanjay Gupta <gsanjay@novell.com>
242
243         * DataSourceView.cs: Changes in access modifiers of methods.
244
245 2004-10-20 Sanjay Gupta <gsanjay@novell.com>
246
247         * DataSourceCapabilities.cs: Added Flags attribute.
248         * DataSourceSelectArguments.cs: Updated.
249         * DataSourveView.cs: Updated.
250
251 2004-10-19 Sanjay Gupta <gsanjay@novell.com>
252
253         * HierarchicalDataSourceView.cs: Corrected class definition and updated.
254
255 2004-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
256
257         * HierarchicalDataSourceView.cs: fix typo.
258
259 2004-10-18 Sanjay Gupta <gsanjay@novell.com>
260
261         * HierarchicalDataSourceView.cs: Updated.
262
263 2004-10-18 Sanjay Gupta <gsanjay@novell.com>
264
265         * DataSourceSelectArguments.cs: Initial implementation.
266
267 2004-10-12 Sanjay Gupta <gsanjay@novell.com>
268
269         * UrlPropertyAttribute.cs: Corrected implementation of Equals () method.
270
271 2004-10-12 Sanjay Gupta <gsanjay@novell.com>
272
273         * UrlTypes.cs: Updated.
274
275 2004-10-12 Sanjay Gupta <gsanjay@novell.com>
276
277         * UrlPropertyAttribute.cs: Added new file.
278
279 2004-10-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
280
281         * Control.cs: even if the control has no children the naming container
282         may contain the control we're looking for. Fixes bug #67304.
283
284 2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
285
286         * AspGenerator.cs: added OtherTags.
287
288 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
289
290         * ControlValuePropertyAttribute.cs: Initial implementation.
291
292 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
293
294         * IPaginationContainer.cs: Corrected name of class.
295
296 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
297
298         * IDReferencePropertyAttribute.cs: Completed implementation.
299
300 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
301
302         * ThemeableAttribute.cs:
303         * FilterableAttribute.cs: Code scrubbing and optimization.
304
305 2004-09-14 Sanjay Gupta <gsanjay@novell.com>
306
307         * ThemeableAttribute.cs: Completed implementation.
308
309 2004-09-14 Sanjay Gupta <gsanjay@novell.com>
310
311         * FilterableAttribute.cs: Completed implementation.
312
313 2004-09-14 Sanjay Gupta <gsanjay@novell.com>
314
315         * Control.cs: Added new attributes and a method.
316         * FilterableAttribute.cs: New attribute, initial implementation.
317         * ThemeableAttribute.cs: New attribute, initial implemenataion.
318
319 2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
320
321         * TemplateParser.cs: ensure bin directory exists before trying to access
322         it. Fixes bug #65446 (not closed yet due to dependencies).
323
324 2004-09-09 Sanjay Gupta <gsanjay@novell.com>
325
326         * Control.cs: Implemented methods of interface IExpressionAccessor.
327
328 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
329
330         * SimpleWebHandlerParser.cs: correctly cache Type instead of the
331         assembly for ashx/asmx. Otherwise we need to open the file and check
332         for the class name in there. Thanks to Ben for pointing this out.
333
334 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
335
336         * TemplateParser.cs: removed creation of StringWriter.  It's not used.
337         * Control.cs: don't create the EventHandlerList until requested.
338
339 2004-09-03 Sanjay Gupta <gsanjay@novell.com>
340         
341         * Control.cs: Added new interfaces implemented in .Net 2.0. 
342         * ExpressionBinding.cs: Added new class.
343         * ExpressionBindingCollection.cs: Added new class.
344         
345 2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
346
347         * LiteralControl.cs: stylized. This control has EnableViewState disabled
348         by default and doesn't get an automatic ID. When text is null -> "".
349
350 2004-08-31 Sanjay Gupta <gsanjay@novell.com>
351         
352         * ControlSkinProc.cs:
353         * DataSourceViewOperationCallback.cs:
354         * DataSourceViewSelectCallback.cs:
355         * ExtractTemplateValuesMethod.cs: Explicit modifier "sealed" not 
356         required in definition as delegates by default are sealed.
357         
358 2004-08-31 Sanjay Gupta <gsanjay@novell.com>
359
360         * IDReferencePropertyAttribute.cs: Corrected and changed from interface
361         to class.
362         * IMobileTextWriter.cs: Corrected method signatures.
363
364 2004-08-09 Sanjay Gupta <gsanjay@novell.com>
365
366         * ControlSkinProc.cs:
367         * DataSourceViewOperationCallback.cs:
368         * DataSourceViewSelectCallback.cs:
369         * ExtractTemplateValuesMethod.cs: Added new delegates.
370
371 2004-08-06 Sanjay Gupta <gsanjay@novell.com>
372
373         * IBindableTemplate.cs:
374         * ICallbackEventHandler.cs:
375         * IControlBuilderAccessor.cs:
376         * IControlDesignerAccessor.cs:
377         * IControlTypeFilter.cs:
378         * IDataItemContainer.cs:
379         * IDataSourceViewSchemaAccessor.cs:
380         * IDReferencePropertyAttribute.cs:
381         * IExpressionsAccessor.cs:
382         * IFilterResolutionService.cs:
383         * IItemPaginationInfo.cs:
384         * IMobileTextWriter.cs:
385         * IPageHeader.cs:
386         * IPaginationContainer.cs:
387         * IPaginationInfo.cs:
388         * IResourceResolutionService.cs:
389         * IResourceUrlGenerator.cs:
390         * IStateFormatter.cs:
391         * IStyleSheet.cs:
392         * IThemeResolutionService.cs:
393         * IUrlResolutionService.cs:
394         * IUserControlTypeResolutionService.cs: Added new files for Interfaces.
395
396 2004-08-05 Sanjay Gupta <gsanjay@novell.com>
397
398         * PostBackOptions.cs: Added new file and implemented the class.
399
400 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
401
402         * HtmlTextWriterTag.cs: readded author name.
403
404 2004-08-04 Sanjay Gupta <gsanjay@novell.com>
405
406         * HtmlTextWriterAttribute.cs:
407         * HtmlTextWriterStyle.cs: Added .Net 2.0 enumerations.
408         * CompilationMode.cs:
409         * ConflictOptions.cs:
410         * DataSourceCacheExpiry.cs:
411         * DataSourceCapabilities.cs:
412         * DataSourceOperation.cs:
413         * TemplateContentType.cs:
414         * TemplateInstance.cs:
415         * UrlTypes.cs:
416         * VerificationConditionalOperator.cs:
417         * VerificationReportLevel.cs:
418         * VerificationRule.cs:
419         * XhtmlMobileDocType.cs: Added enumerations.
420
421 2004-07-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
422
423         * Control.cs: style. Reverted previous patch modification of
424         TemplateSourceDirectory (failed when the control is reparented). Use
425         HasControls() and Controls all over instead of _controls, as Controls
426         property and HasControls() might be overriden.
427
428 2004-07-27 Alon Gazit <along@mainsoft.com>
429
430         * Control.cs: Changed the implementation of TemplateSourceDirectory
431         and GetDefaultName(). replaced foreach statements with for statements, 
432         in order to improve performence.
433
434 2004-07-27 Alon Gazit <along@mainsoft.com>
435
436         * Page.cs: changed the implementation of GetViewStateString().
437         if the view state object is null there is no need to perform 
438         Serialization.
439         
440 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
441
442         * TemplateControl.cs: don't include private methods of base classes when
443         auto-attaching events. Fixes bug 61569.
444
445 2004-07-14 Alon Gazit <along@mainsoft.com>
446
447         * HtmlTextWriter.cs: changed the Hashtables to case insensitive.         
448 2004-07-08 Pablo Baena <pbaena@gmail.com>
449
450         * Page.cs: added workaround for __doPostBack script on Netscape 4.xx
451         
452 2004-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
453
454         * Page.cs: added additional checks for saving/displaying trace data.
455
456         * PageParser.cs: removed checks for trace enabled in configuration
457         files.
458
459 2004-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
460
461         * ControlCollection.cs: when clearing the control collection, tell the
462         owners about the removal. Fixes bug #60800.
463
464 2004-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
465
466         * Page.cs: don't nullify _context after processing the request as there
467         are events not triggered yet. Fixes bug #60726.
468
469 2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
470
471         * HtmlTextWriter.cs: only create a closing tag for unknown tags. Fixes
472         bug #60681.
473
474 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
475
476         * PageParser.cs:
477         * UserControlParser.cs: set the page/user control base type even when no
478         default directive provided. Fixes bug #60572.
479
480 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
481
482         * PageParser.cs: use default trace settings from web.config and check
483         if trace is only requested for local connections. Fixes bug #60180.
484
485 2004-06-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
486
487         * SimpleWebHandlerParser.cs: implemented GetCompiledTypeFromCache. When 
488         we read the default directive, check the cache for the Type and if
489         present, don't keep reading and store the type found.
490
491         * WebHandlerParser.cs:
492         * WebServiceParser.cs: try GetCompiledTypeFromCache before actually
493         compiling.
494
495 2004-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
496
497         * Control.cs: properly fixed bug #59794.
498
499 2004-06-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
500
501         * Control.cs:
502         (ResolveUrl): fixed typo when dealing with relative urls. Closes bug
503         #59794.
504
505 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
506
507         * SimpleWebHandlerParser.cs:
508         * TemplateParser.cs: pass the language when compiling from a file.
509
510 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
511
512         * SimpleWebHandlerParser.cs: if we have a global.asax, move its
513         reference to the end to help mcs loading the assemblies. Fixes bug
514         #58768.
515
516         * TemplateParser.cs: same as above. Removed some kludges to workaround
517         loading assemblies from bin path that are now in the runtime. Don't
518         load the assemblies in bin if not needed, but still reference them
519         when compiling.
520
521 2004-06-07  Alon Gazit <along@mainsoft.com>
522         * Page.cs: Changed Page.ProcessPostData().
523         After the change ,the state of controls that aren't visible is saved 
524         during a postback.
525         
526 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
527
528         * Page.cs: removed obsolete MonoTODO from RegisterOnSubmitStatement.
529
530 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
531
532         * Page.cs: IsPostBack also returns true when method is GET and we have
533         viewstate information in the query string. Fixes bug #58151.
534
535 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
536
537         * Page.cs: removed obsolete TODO. Only check if Trace is enabled, not
538         HttpRutime.TraceManager.
539
540         * PageParser.cs: for 'trace' we have 2 variables now.  Added support
541         for 'buffer' attribute.
542
543 2004-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
544
545         * Page.cs: implemented ClientTarget.
546         * PageParser.cs: support for clientTarget and check for validity.
547
548 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
549
550         * Control.cs:
551         * Html32TextWriter.cs:
552         * HtmlTextWriter.cs:
553         * SimpleWebHandlerParser.cs:
554         * TemplateControl.cs: Added protected missing members and attributes.
555
556 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
557
558         * ObjectStateFormatter.cs: use ObjectFormatter methods instead of
559         calling a protected method of another object.
560
561 2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
562
563         * ObjectStateFormatter.cs : csc build fix. Protected Read()/Write()
564           (of other objects) are called in TypeConverterFormatter.
565
566 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
567
568         * ObjectStateFormatter.cs: before choosing the binary formatter, check
569         if the object type has a TypeConverter that can convert to/from string.
570         Fixes bug #59495.
571
572         * Page.cs: call GetViewStateString from outside the WriteLine. This
573         allows writing to the Response when getting the string without breaking
574         the HTML generated.
575
576 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
577
578         * HtmlTextWriter.cs: render end tag for unknown tags.
579         Patch frmo Markus Krutner. Fixes bug #59466.
580
581 2004-05-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
582
583         * Page.cs: call DeterminePostBackMode only once per request. Patch by
584         Evain Jb.
585
586 2004-05-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
587
588         * Html32TextWriter.cs: stub contributed by Matthijs ter Woord
589         [meddochat].
590
591         * ObjectTagBuilder.cs: remove the HasBody override as MS does not have
592         that.
593
594 2004-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
595
596         * SimpleWebHandlerParser.cs:
597         * TemplateParser.cs: for the assembly names given in the 'assembly'
598         attribute, use LoadWithPartialName instead of Load.
599 2004-03-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
600
601         * Page.cs: return HttpContext.Current if _context has not yet been
602         assigned to. Fixes bug #55245.
603
604 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
605
606         * TemplateParser.cs: don't add import statement or assemblies from
607         global.asax to every file. Fixes bug #55496.
608
609 2004-03-09  Juraj Skripsky <juraj@hotfeet.ch>
610
611         * DataBinder.cs: allow unquoted string expressions (e.g. "[test]") and
612         handle single quotes and a few corner cases correctly (see test cases).
613
614 2004-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
615
616         * TemplateControl.cs: fixed typos and added new method names to the set
617         of page events.
618
619 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
620
621         * ControlBuilder.cs: added SetTagName().
622
623         * ObjectTagBuilder.cs: use SetTagName so that we can properly close
624         <object> builders if the closing tag is provided.
625
626 2004-02-16  Jackson Harper <jackson@ximian.com>
627
628         * Page.cs: Set cacheability for Location.DownStream.
629         
630 2004-02-10  Jackson Harper <jackson@ximian.com>
631
632         * TemplateParser.cs: Use full path if the assembly is in the
633         private bin directory. Patch by Gonzalo Paniagua Javier.
634         
635 2004-02-09  Jackson Harper <jackson@ximian.com>
636
637         * Page.cs: Set cacheability for server side caching.
638         
639 2004-01-30  Jackson Harper <jackson@ximian.com>
640
641         * Control.cs: Ensure that dynamically loaded controls are
642         initialized.
643         
644 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
645
646         * ApplicationFileParser.cs: check for error in directives. Use
647         GlobalAsaxCompiler.CompileApplicationType for compiling.
648         
649         * ObjectTagBuilder.cs: load the Type and check for errors.
650
651         * TemplateParser.cs: add assemblies and imports from global.asax.
652
653         Now we properly create accessors for session and application objects in
654         the application itself, pages and controls. First step for fixing
655         bug #53387.
656
657 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
658
659         * TemplateControl.cs: small speedup for WireUpautomaticEvents. Thanks
660         to Eric Lindvall for pointing this out.
661
662 2004-01-15  Jackson Harper <jackson@ximian.com>
663
664         * TemplateParser.cs: Detect if we are parsing a control or page
665         properly.
666         * Page.cs: vary by params and vary by headers can be null now.
667         
668 2004-01-15  Martin Willemoes Hansen  <mwh@sysrq.dk>
669
670         * HtmlTextWriter.cs: Fixed OutputTab routine to generate correct
671         indention.
672
673 2004-01-14  Jackson Harper <jackson@ximian.com>
674
675         * Page.cs: If we have a postback that wasn't sent through a
676         postback script (ie user hit submit on a input type=submit) call
677         Validate so page validation occurs. This fixes bug #52770.
678         
679 2004-01-14  Jackson Harper <jackson@ximian.com>
680
681         * Page.cs: Don't tell the response to cache anymore. This is done
682         when the cacheability is modified by a callback. Set the cache's
683         duration.
684         
685 2004-01-14  Jackson Harper <jackson@ximian.com>
686
687         * TemplateParser.cs: If varybyparam is set to "none" make it null
688         so we dont get a param named null in the outputcache key.
689         
690 2004-01-14  Jackson Harper <jackson@ximian.com>
691
692         * BasePartialCachingControl.cs: Use varyby attributes in key
693         generation.
694         
695 2004-01-14  Jackson Harper <jackson@ximian.com>
696
697         * TemplateParser.cs: Add all the outputcache attribute error
698         messages.
699         
700 2004-01-13  Jackson Harper <jackson@ximian.com>
701
702         * TemplateParser.cs: Add VaryByControls and Shared output cache
703         properties. These are not assigned yet.
704         * TemplateControlParser.cs: Do not ignore the OutputCache
705         attribute.
706         * BasePartialCachingControl.cs: Initial implementation. Keys are
707         still not created properly.
708         * StaticPartialCachingControl.cs: Assign properties in base class,
709         implement CreateControl.
710         
711 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
712
713         * ApplicationFileParser.cs: adde DefaultBaseTypeName property.
714
715         * PageParser.cs: support validateRequest.
716
717         * TemplateControlParser.cs: get default values from system.web/pages
718         section.
719
720         * TemplateParser.cs: added separate method for changing base type
721         (Inherits or system.web/pages).
722         
723         * UserControlParser.cs: support system.web/pages defined base type.
724
725 2004-01-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
726
727         * UserControl.cs: Added missing attribute, implemented method
728         * Page.cs: Added missing attribute, implemented method
729
730 2004-01-10  Jackson Harper <jackson@ximian.com>
731
732         * Page.cs: Handle trace being enabled in the config file.
733         
734 2004-01-10  Jackson Harper <jackson@ximian.com>
735
736         * Page.cs: Save trace data before rendering it.
737         * System.Web.dll.sources: Add TraceData.cs
738         
739 2004-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
740
741         * Page.cs: removed a couple of MonoTODO on methods we're not gonna
742         implement. Applied patch from Jan Jaros (mono-bug@jerryweb.info) to
743         ensure that Unload event is raised. Fixes bug #52555.
744
745 2004-01-02  Zoltan Varga  <vargaz@freemail.hu>
746
747         * KeyedList.cs: 'private' is not allowed on explicit interface 
748         implementations. Fixes 1.2 build.
749
750 2003-12-31  Jackson Harper <jackson@ximian.com>
751
752         * TemplateControlParser.cs: When registering tag prefixs make sure
753         the file exists and throw the correct error if it does not.
754         
755 2003-12-25  Jackson Harper <jackson@ximian.com>
756
757         * Page.cs: Throw error if the session is accessed when sessions
758         are disabled.
759         
760 2003-12-18  Jackson Harper <jackson@ximian.com>
761
762         * Page.cs: Write Trace info.
763         
764 2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
765
766         * LosFormatter.cs: new ctor for 1.1. The default ctor is public.
767         * Page.cs: added ViewStateUserKey and made RegisterclientScriptFile
768         internal.
769         * PageParser.cs: the ctor is public.
770         * PartialCachingAttribute.cs: added new ctor and Shared property.
771
772 2003-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
773
774         * Page.cs: assign the ErrorPage to the context if we get an exception
775         when processing the page which only calls Unload.
776
777         * PageParser.cs: handle ErrorPage.
778
779 2003-12-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
780
781         * ObjectStateFormatter.cs: added formatters for Unit and FontUnit, which
782         are not [Serializable]. Fixes bug #52244.
783
784 2003-12-16  Jackson Harper <jackson@ximian.com>
785
786         * Page.cs: Render trace data when tracing is enabled.
787         
788 2003-12-15  Jackson Harper <jackson@ximian.com>
789
790         * PageParser.cs: Add Trace and Trace mode attributes.
791         
792 2003-12-15  Jackson Harper <jackson@ximian.com>
793
794         * Page.cs: Use the context trace object.
795         
796 2003-12-14  Alon Gazit <along@mainsoft.com>
797         * AttributeCollection.cs: Changed AttributeCollection.Render().
798         After the change attributes ,that their value is null, aren't 
799         rendered.
800
801 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
802
803         * Control.cs: remove a few dangling ^M, don't set values for fields
804         that has the default value. If Visible is modified and we're tracking
805         viewstate, save and restore it. Fixes bug #48689.
806
807 2003-12-11  Jackson Harper <jackson@ximian.com>
808
809         * Control.cs: Give null for the ID if it hasn't been explicitly
810         set. This fixes bug #51520.
811         
812 2003-12-08  Jackson Harper <jackson@ximian.com>
813
814         * PageParser.cs: Ignore the SmartNavigation attribute for now.
815         
816 2003-12-05  Jackson Harper <jackson@ximian.com>
817
818         * DataBinder.cs (GetIndexedPropertyValue): Check if container is
819         an IList and use a cast instead of reflection to retrieve the item
820         if it is. Fixes bug #51759.
821         
822 2003-12-04  Alon Gazit <along@mainsoft.com>
823         * Page.cs: Changed Page.ID so it will call Control.ID.
824         Fixed Bug 51682.          
825
826 2003-12-02  Jackson Harper <jackson@ximian.com>
827
828         * Page.cs: Implemented registered array declarations. Patch by
829         Benjamin Jemlich <pcgod@gmx.net>
830         
831 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
832
833         * TemplateParser.cs: basic check for 'classname' attribute and added
834         patch by pcgod@gmx.net for bug #51568, which fixes automatic class
835         names for pages starting with a number.
836
837 2003-11-30 Ben Maurer  <bmaurer@users.sourceforge.net>
838
839         * LosFormatter.cs: Use ObjectStateFormatter. Pretty big size
840         reduction.
841
842         * ObjectStateFormatter.cs: Comment out tracing.
843
844 2003-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
845
846         * Page.cs: fixed UICulture, LCID and Culture. Set the thread
847         [UI]Culture before processing the request.
848
849         * PageParser.cs: read Culture, UICulture and LCID attributes. Added
850         properties for these. Partially contributed by Mohammad Damt.
851
852         Fixes bug #51511.
853
854 2003-11-27  Jackson Harper <jackson@ximian.com>
855
856         * TemplateParser.cs: Ignore aspCompat attribute. This fixes bug
857         51434.
858         
859 2003-11-22 Ben Maurer  <bmaurer@users.sourceforge.net>
860
861         * ObjectStateFormatter.cs: Fix bug when reading small ints.
862         Add some tracing so we can see what is going on.
863
864 2003-11-21  Jackson Harper <jackson@ximian.com>
865
866         * Page.cs: Set vary by params when cache location is Server.
867         
868 2003-11-21 Ben Maurer  <bmaurer@users.sourceforge.net>
869
870         * ObjectStateFormatter.cs: v2 file. In v1.x this will be
871         internal as LosFormatter will eventually use it to save
872         the view state.
873
874 2003-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
875
876         * PersistChildrenAttribute.cs:
877         * PersistenceModeAttribute.cs: implemented.
878
879         * TODO: Removed file.
880         * OutputCacheLocation.cs:
881         * TemplateControlParser.cs:
882         * HtmlInputFile.cs: class status based fixes.
883
884 2003-11-19  Jackson Harper <jackson@ximian.com>
885
886         * Page.cs: Always set the cache expire time. Tell the response to
887         cache itself for server side cached pages.
888         
889 2003-11-19  Jackson Harper <jackson@ximian.com>
890
891         * Control.cs: Remove ResolveBaseUrl. ResolveUrl does the same
892         thing, some corner cases still need work though. Was this the
893         shortest lived method in the history of mono?
894         
895 2003-11-19  Jackson Harper <jackson@ximian.com>
896
897         * Control.cs: New method for resolving urls that use ~/ to denote
898         the applications base directory.
899         
900 2003-11-19  Jackson Harper <jackson@ximian.com>
901
902         * TemplateParser.cs: Fix typo in error message.
903                 
904 2003-11-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
905
906         * TemplateControlParser.cs: support @Reference. Fixes bug #49572. Thanks
907         to Sanjay Gupta.
908
909 2003-11-19  Todd Berman  <tberman@gentoo.org>
910
911         * KeyedList.cs:
912         * KeyedListEnumerator.cs: New v2 implementations.
913
914 2003-11-17 Ben Maurer  <bmaurer@users.sourceforge.net>
915
916         * StateManagedCollection.cs: Implement.
917
918 2003-11-13  Jackson Harper  <jackson@ximian.com>
919
920         * Page.cs: Initial implementation of InitOutputCache.
921         * TemplateParser.cs: Page OutputCache options
922         
923 2003-11-09 Ben Maurer  <bmaurer@users.sourceforge.net>
924
925         * HierarchicalDataSourceControl.cs: Implement.
926
927 2003-11-09 Ben Maurer  <bmaurer@users.sourceforge.net>
928
929         * XPathBinder.cs: Implemented.
930
931 2003-11-08 Ben Maurer  <bmaurer@users.sourceforge.net>
932
933         * DataSourceView.cs:
934         * IDataSource.cs:
935         * ListSourceHelper.cs:
936         * DataSourceControl.cs:
937         * HierarchicalDataSourceView.cs:
938         * IHierarchicalDataSource.cs: Move v2 stuff.
939
940 2003-11-07 Jackson Harper <jackson@ximian.com>
941
942         * Control.cs (ResolveUrl): Special case for urls that consist of
943         only a page anchor. ie <a href="#top">. This fixes bug #50165.
944         
945 2003-11-07 Ben Maurer  <bmaurer@users.sourceforge.net>
946
947         * IHierarchicalEnumerable.cs:
948         * IHierarchyData.cs:
949         * INavigateUIData.cs: New v2 interfaces.
950         
951 2003-11-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
952
953         * Page.cs: patch by Alon Gazit <along@mainsoft.com> to remove extra
954         space in generated javascript.
955
956 2003-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
957
958         * LosFormatter.cs: encoding updates. 
959         * Page.cs: implemented CodePage and ContentType.
960         * PageParser.cs: handle CodePage, ContentEncoding and ResponseEncoding
961         attributes.
962
963 2003-11-04 Ben Maurer  <bmaurer@users.sourceforge.net>
964
965         * Control.cs (GetWebResourceUrl): new v2 function
966         * Page.cs (GetWebResourceUrl): ditto.
967         make the JS we generate work with moz if the form is not a child
968         of document.
969         * WebResourceAttribute.cs: Added, new v2 attribute.
970
971 2003-10-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
972
973         * DesignTimeTemplateParser.cs: added FIXME related to PageParser.
974
975         * PageParser.cs: initialize the parser in the constructor, not just
976         before compiling and reference the application assembly.
977
978         * SimpleWebHandlerParser.cs: reference the assembly that contains the
979         application Type.
980
981         * TemplateControl.cs:
982         * TemplateControlParser.cs: fix BenM #1 bug. Now we pass correct virtual
983         path and physical path when compiling a user control.
984         
985         * TemplateParser.cs: new AddApplicationAssembly ().
986         * UserControlParser.cs: now we get valid values in the ctor.
987
988         Referencing the application assembly fixes bug #49652.
989         
990
991 2003-10-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
992
993         * TemplateControl.cs: moved NoParamsInvoker class to its own file.
994
995 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
996
997         * BaseParser.cs: added CompilationConfig property.
998
999         * TemplateParser.cs:
1000         * SimpleWebHandlerParser.cs: added CompilationConfig property.
1001         Don't hardcode assembly names any more, assemblies in bin are added
1002         depending on the configuration. The default language is also taken
1003         from the configuration.
1004
1005 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1006
1007         * LosFormatter.cs: fixed bug #49604. Patch by yaronsh@mainsoft.com.
1008
1009 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1010
1011         * Control.cs: removed some debug lines.
1012         * Page.cs: implemented RegisterOnSubmitStatement
1013         * TemplateControl.cs: fixed wire up for methods with no parameters.
1014
1015 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1016
1017         * PageParser.cs: ignore ValidateRequest by now.
1018
1019 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1020
1021         * System.Web.UI/TemplateControl.cs: support for wiring up events without
1022         parameters.
1023
1024 2003-10-08  Pedro Martnez Juli  <yoros@wanadoo.es>
1025
1026         * PageParser.cs: drop some useless code.
1027
1028 2002-10-29  Gaurav Vaish <gvaish_mono AT lycos.com>
1029
1030         * Utils.cs   : GetScriptLocation(HttpContext) - Partial Implementation.
1031
1032 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1033
1034         * System.Web.UI/PageParser.cs:
1035         * System.Web.UI/TemplateControlParser.cs: honour the input file given
1036         as argument.
1037
1038 2003-09-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1039
1040         * Control.cs:
1041         (ClearChildViewState): doh! Don't clear control viewstate but the
1042         viewstate of possible children.
1043         (LoadViewStateRecursive): load viewstate even when control is not
1044         visible.
1045         Fixes bug #49024.
1046         The rest are just dangling ^M removed.
1047
1048         * DataBoundLiteralControl.cs:
1049         (LoadViewState): we get an object [], not a string [].
1050
1051 2003-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1052
1053         * Control.cs: implemented ClearChildViewState ().
1054
1055 2003-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1056
1057         * Page.cs: store unique IDs for controls requiring postback. Fixes bug
1058         #47985.
1059
1060 2003-09-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1061
1062         * SimpleWebHandlerParser.cs: add the ashx/asmx file itself to the
1063         dependencies so that it's recompiled when changed.
1064
1065 2003-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1066
1067         * LosFormatter.cs: fixed Deserialize for empty viewstate.
1068
1069 2003-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1070
1071         * Page.cs: check if controls that require postback have
1072         been changed by an event and register them to be notified of data
1073         changed event.
1074
1075 2003-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1076
1077         * Control.cs: patch by yaronshkop@hotmail.com (Yaron Shkop) that fixes
1078         bug #47866.
1079
1080 2003-08-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1081
1082         * LosFormatter.cs: handle Unit and FonrUnit as special cases as they
1083         are not serializable. Fixes bug #47784.
1084
1085 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1086
1087         * Control.cs: index the viewstates saved by the control position, not
1088         the control name. Fixes bug #47697.
1089
1090 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1091
1092         * ControlCollection.cs:
1093         * EmptyControlCollection.cs: create a minimum ArrayList for this.
1094
1095         * BaseParser.cs: added setter for BaseVirtualDir.
1096
1097         * Page.cs: fixed message when restoring view state fails.
1098         * UserControlParser.cs: set the BaseVirtualDirectory to handle the case
1099         when a relative path to the control is given. Fixes bug #47685.
1100
1101 2003-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1102
1103         * Control.cs: when we load the viewstate for a control that has children
1104         viewstates and the child is not found, keep its viewstate around and
1105         wait until the child is added to load the viewstate. Fixes bug #47697.
1106
1107 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1108
1109         * TemplateControl.cs: more Delegate.CreateDelegate fixes.
1110
1111 2003-08-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1112
1113         * PartialCachingControl.cs: is not abstract
1114
1115 2003-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1116
1117         * SimpleHandlerFactory.cs: implemented GetHandler.
1118         * WebHandlerParser.cs: new file that parses .ashx files.
1119
1120 2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1121
1122         * PersistenceModeAttribute.cs: Fixed wrong AttributeUsage
1123
1124 2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1125
1126         * UserControl.cs: Added attribute
1127         * BasePartialCachingControl.cs: New class and paritally implemented
1128         * DesignerDataBoundLiteralControl.cs: New class and implemented
1129         * DesignTimeTemplateParser.cs:
1130         * PartialCachingControl.cs:
1131         * StaticPartialCachingControl.cs: New class and paritally implemented
1132
1133 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1134
1135         * ApplicationFileParser.cs: Fixed signature
1136         * DesignTimeParseData.cs: Added missing properties, implemented
1137         * Page.cs: Added attributes
1138         * PageParser.cs:
1139         * TemplateControlParser.cs:
1140         * TemplateParser.cs:
1141         * UserControlParser.cs: Fixed signature
1142
1143 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1144
1145         * HtmlControlPersistableAttribute.cs: Added
1146         * IgnoreUnknownContentAttribute.cs: Added
1147
1148 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1149
1150         * IUserControlDesignerAccessor.cs: Added and implemented
1151         * Control.cs: Missing member added, added all attributes
1152         * Page.cs: Added attributes, fixed signature
1153         * TemplateControl.cs: Fixed signature, added all attributes
1154         * UserControl.cs: Added all attributes, added and implemented missing interface
1155         
1156 2003-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1157
1158         * ControlCollection.cs: fixed bug #46472.
1159
1160 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1161
1162         * SimpleWebHandlerParser.cs: implemented GetTypeFromBin.
1163
1164 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1165
1166         * SimpleWebHandlerParser.cs: updated to new compilation interface.
1167
1168         * TemplateParser.cs: use the new parameter when compiling.  
1169
1170 2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1171
1172         * Page.cs: also keep the value for the second try on handling postback
1173         events.
1174
1175 2003-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1176
1177         * BaseParser.cs: fixed MapPath for non-rooted files.
1178         * PageParser.cs: don't pass a non-virtual file around.
1179         * TemplateControlParser.cs: InputFile uses MapPath now.  Take care of
1180         the exception teh may be throw by MapPath on an invalid path.
1181
1182         * TemplateParser.cs: removed unused method.
1183         * UserControlParser.cs: modified inputfile. The result is the same, but 
1184         this one is better.
1185
1186 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1187
1188         * RootBuilder.cs: throw exception when the tagprefix is not valid or
1189         not found.
1190
1191 2003-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1192
1193         * TemplateControlParser.cs: return after processing @Register.
1194
1195 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1196
1197         * TemplateParser.cs: Added support for server side includes.
1198
1199 2003-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1200
1201         * TemplateControl.cs: fixed the flags used to find the methods that
1202         are automatically hooked up on events.
1203
1204         * TemplateParser.cs: don't compile a source file directly.  Use the
1205         cache instead.
1206
1207 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1208
1209         * BaseParser.cs: Location property is now here. Added a couple of
1210         convenience methods to throw a ParseException.
1211
1212         * TemplateParser.cs:
1213         * TemplateControlParser.cs:
1214         * PageParser.cs: throw ParseException where appropiate.
1215
1216 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1217
1218         * ApplicationFileParser.cs: use the generator to actually parse the
1219         file.
1220
1221         * ControlBuilder.cs: small fix in NamingContainerType because
1222         TemplateBuilders have a null ControlType. When a control is appended
1223         to a parent, assign the child's parent.
1224
1225         * UserControlParser.cs: fixed the value of InputFile.
1226
1227 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1228
1229         * ApplicationFileParser.cs: store the Context and override
1230         BaseVirtualDir so that it's the application path.
1231
1232         * BaseParser.cs: removed CurrentVirtualPath property.
1233
1234         * TemplateControlParser.cs: use BaseVirtualDir.
1235
1236         * UserControlParser.cs: removed CurrentVirtualPath.
1237
1238 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1239
1240         * TemplateParser.cs: always reference all the assemblies in bin
1241         directory.
1242
1243 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1244
1245         * ApplicationFileParser.cs: it works now. Prior to these changes, we
1246         were using the compiler directly.
1247
1248         * BaseParser.cs: added some useful properties and methods.
1249
1250         * CodeBuilder.cs: use ILocation.
1251         * CodeRenderBuilder.cs: use ILocation.
1252         * CollectionBuilder.cs: use the RootBuilder to map tag names into Types.
1253
1254         * ControlBuilder.cs: made it useful.
1255
1256         * DataBindingBuilder.cs: the control type for data bound text is
1257         DataBoundLiteralControl now.
1258
1259         * ObjectTagBuilder.cs: store some object tag attributes.
1260
1261         * PageParser.cs: handle page-only directives.
1262
1263         * RootBuilder.cs: bah.
1264         * SimpleWebHandlerParser.cs: made it dummy.
1265         * TemplateControl.cs: Modified file.
1266
1267         * TemplateControlParser.cs: handle directives that are common to pages
1268         and user controls.
1269
1270         * TemplateParser.cs: utility methods and handling of directives that
1271         are common to app, page and user controls.
1272
1273         * UserControl.cs: added ControlBuilderAttribute.
1274
1275         * UserControlControlBuilder.cs: builder for user controls.
1276         * UserControlParser.cs: use the new interfaces.
1277
1278 2003-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1279
1280         * ControlBuilder.cs: line and fileName are protected now.
1281
1282         * CodeBuilder.cs: base class for the next 2 files.
1283         * CodeRenderBuilder.cs: builder for code render.
1284         * DataBindingBuilder.cs: builder for data binding.
1285
1286 2003-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1287
1288         * ITagNameToTypeMapper.cs: made it internal.
1289
1290         * ObjectTagBuilder.cs: builder for <object runat="server"> tag.
1291         * ObjectTag.cs:
1292         * RootBuilder.cs: initial builder.
1293
1294 2003-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1295
1296         * CollectionBuilder.cs:
1297         * TemplateBuilder.cs: new classes derived from ControlBuilder that
1298         represent a property or a ITemplate.
1299         
1300         * ControlBuilder.cs: implemented all the missing bits.
1301         * TemplateParser.cs: added mapping from tag name to Type feature.
1302
1303 2003-02-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1304
1305         * Control.cs: have i definitely fixed naming container stuff this time?
1306
1307         * LosFormatter.cs: activated binary serialization code.
1308
1309 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1310
1311         * Control.cs:
1312         (AddedControl): fixed default id assignation when the sequence of
1313         AddedControl until it's included in the page or one of its controls
1314         does not pass through a naming container.
1315
1316 2003-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1317
1318         * Control.cs: give different default names depending on the place where
1319         it is assigned. Implemented ResolveURl (no more ~ rendered in
1320         attributes!).
1321
1322 2003-02-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1323
1324         * Control.cs: when adding a control, assign default names to th
1325         children that don't have one.
1326
1327 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1328
1329         * SimpleWebHandlerParser.cs: modified to use the new parser interface.
1330
1331 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1332
1333         * Control.cs: some more tweaks to naming containers stuff.
1334         * DataBinder.cs: don't throw exception if the container is null.
1335
1336         * Page.cs: now we can render client scripts, startup scripts and hidden
1337         fields. Only render __VIEWSTATE if there is someone that will take care
1338         of it.
1339         (RaisePostBackEvents): first try the last one that required raise event,
1340         then try __EVENTTARGET.
1341
1342 2003-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1343
1344         * Control.cs: fixes in UniqueID, FindControl, AddedControl,
1345         UnloadRecursive, InitRecursive. Reduced the size of __VIEWSTATE. Made
1346         FindControl work with NamingContainers.
1347         
1348         * ControlCollection.cs: notify the parent when clearing the collection.
1349
1350         * LosFormatter.cs: Added debugging output and generate a valid
1351         viewstate even for unknown types.
1352
1353         * Page.cs: GetPostBackEventReference now uses UniqueID. Reduced
1354         viewstate.
1355
1356 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1357
1358         * Page.cs: make it fire the LoadData related events also for controls
1359         such as ImageButton, whose variable(s) in the query string are of the
1360         form ctrl_name.x and only fire them once per control.
1361
1362 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1363
1364         * DataBinder.cs:
1365         (GetPropertyValue): don't try to get the property as indexed
1366
1367 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1368
1369         * DataBinder.cs: use TypeDescriptor to get the properties and their
1370         values.
1371
1372 2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1373
1374         * Control.cs:
1375         (AddedControl): take the children to the same state of the parent.
1376         (InitRecursive): set the page of the children.
1377
1378         * Page.cs: removed one line (it's done a few lines above).
1379
1380         * UserControl.cs:
1381         (OnInit): always call InitializeAsUserControl
1382         (InitializeAsUserControl): sets the page for the control.
1383
1384 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1385
1386         * Control.cs: fixed bug #36037.
1387
1388 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1389
1390         * BaseParser.cs: a couple of path fixes to make it work
1391         when the page is not in the root directory.
1392
1393 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1394
1395         * Control.cs: fixed PreRenderRecursiveInternal. Thanks to kojoadams for
1396         reporting the bug.
1397
1398 2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1399
1400         * BaseParser.cs: use MapPath and context to locate files.
1401         * Control.cs: implemented MapPathSecure.
1402         * TemplateControl.cs: use UrlUtils to generate the path.
1403         * TemplateControlParser.cs: use the context and MapPath.
1404         * UserControl.cs: implemented MapPath.
1405         * UserControlParser.cs: added context parameter to constructor.
1406
1407 2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1408
1409         * Control.cs: implemented MapPathSecure.
1410         * Page.cs: fixed Server property.
1411
1412 2002-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1413
1414         * DataBinder.cs: try the indexer if the property is not found in
1415         GetPropertyValue ().
1416
1417 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1418
1419         * Control.cs: added AutoEventWireup internal property.
1420
1421         * Page.cs: removed page events wire up from here.
1422
1423         * TemplateControl.cs: new method WireupAutomaticEvents to hook up page
1424         and user controls events.
1425
1426         * TemplateControlParser.cs: process the options that are applicable
1427         once we have the instance of the control.
1428
1429         * TemplateParser.cs: also stores the options.
1430
1431         * UserControl.cs: hook up events before initializing the control.
1432
1433
1434 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1435
1436         * Control.cs: new method to set bindingContainer value.
1437         * TemplateControl.cs: added controls are not binding containers.
1438
1439 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1440
1441         * Control.cs: implemented TemplateSourceDirectory.
1442         * TemplateControl.cs: implemented LoadControl and LoadTemplate.
1443
1444 2002-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1445
1446         * UserControl.cs: fixed SetAttribute.
1447         * UserControlParser.cs: set the correct base type.
1448
1449 2002-11-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1450
1451         * TemplateParser.cs: fixed BaseType.
1452         * UserControlParser.cs: helper class to compile user controls.
1453
1454 2002-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1455
1456         * LosFormatter.cs: added DateTime to special types.
1457
1458 2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1459
1460         * LosFormatter.cs: added array serialization support. Disabled binary
1461         serialization and add some debugging code.
1462
1463         * StateBag.cs: the length of the list of value can be less than the
1464         length if the list of keys when remaining values are null.
1465
1466 2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1467
1468         * Page.cs: return something useful in GetPostBackClientEvent.
1469
1470 2002-11-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1471
1472         * Page.cs: implemented FileDependecies and made it protected.
1473
1474 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1475
1476         * Control.cs: save control names instead of the controls
1477         themselves to the ViewState.
1478
1479         * LosFormatter.cs: added support for serializing unknown
1480         types. BinaryFormatter does not work so you better don't store anything
1481         of unknown Type in ViewState.
1482
1483         * Page.cs: GetViewStateString works now using LosFormatter.
1484         Complete "Control execution lifecycle" by unloading all the child
1485         controls. Check for null in RaisePostBackEvents.
1486         LoadPageViewStateFromPersistenceMedium uses LosFormatter too.
1487
1488 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1489
1490         * DataBinder.cs: implemented Eval and GetIndexedPropertyValue methods.
1491
1492 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1493
1494         * LosFormatter.cs: Use WebEncoding.Encoding.
1495
1496         * Control.cs:
1497         * Page.cs: fixed namespace.
1498
1499 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1500
1501         * Page.cs: set the context in ProcessRequest. Added a few trace calls.
1502         * Control.cs: added some trace information.
1503
1504 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1505
1506         * SimpleHandlerFactory.cs: new handler for .ashx files.
1507
1508 2002-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1509
1510         * System.Web.UI/PageHandlerFactory.cs: new file.
1511         * System.Web.UI/PageParser.cs:
1512         * System.Web.UI/TemplateControlParser.cs: we are now able to compile
1513         pages and use HttpApplication, HttpRuntime and SimpleWorkerRequest.
1514
1515 2002-09-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1516
1517         * Control.cs: implemented ObBubbleEvent.
1518         * Page.cs: temporary workaround to make POST work with xsp server.
1519
1520 2002-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1521
1522         * Page.cs: fixed InvokeEventMethod now that Type.GetMethod does not
1523         return pvt methods.
1524
1525 2002-09-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1526
1527         * SimpleWebHandlerParser.cs: New file.
1528         * WebServiceParser.cs: New file.
1529
1530 2002-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1531
1532         * LosFormatter.cs: almost fully implemented.
1533
1534 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1535
1536         * CompiledTemplateBuilder.cs: InstantiateIn is virtual.
1537         * EmptyControlCollection.cs: throw correct exception.
1538         * LosFormatter.cs: stubbed out.
1539         * OutputCacheLocation.cs: little fix.
1540
1541 2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1542
1543         * System.Web.UI/ApplicationFileParser.cs:
1544         * System.Web.UI/BaseParser.cs:
1545         * System.Web.UI/PageParser.cs:
1546         * System.Web.UI/TemplateControl.cs:
1547         * System.Web.UI/TemplateControlParser.cs:
1548         * System.Web.UI/TemplateParser.cs: first steps to move xsp into
1549         System.Web.
1550
1551 2002-07-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1552
1553         * Page.cs: request to render postback script can be after form started
1554         rendering.
1555
1556 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1557
1558         * Page.cs: added more page events to invoke automagically if some
1559         methods are defined.
1560
1561 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1562
1563         * Control.cs:
1564         (SaveViewState): save state even when control is not visible.
1565         (SaveViewStateRecursive):
1566         (LoadViewStateRecursive): made internal.
1567
1568 2002-07-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1569
1570         * Page.cs: improved event raising to allow client postback for a wider
1571         variety of actions (clicking an hyperlink, ...).
1572
1573 2002-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1574
1575         * UserControl.cs: implemented Load/SaveViewState.
1576
1577 2002-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1578
1579         * AttributeCollection.cs:
1580         (Add): handle 'style' through styleCollection.
1581
1582         * CssStyleCollection.cs:
1583         (fillStyle): renamed to FillStyle and made it internal.
1584
1585         * Page.cs:
1586         (GetViewStateString): fixed, broken after other recent changes.
1587         (ProcessPostData): allow a second try for postback data after OnLoad.
1588         (ProcessRequest): clear controls collection, removed call to 
1589         UnloadRecursive.
1590
1591 2002-07-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1592
1593         * Control.cs: uncommented Dispose.
1594
1595         * Page.cs:
1596         (DeterminePostBackMode): more checkings.
1597         (GetPostBackClientHyperLink): implemented.
1598         (GetPostBackEventReference): added some comments with the HTML that MS
1599         generates for that.
1600         (ProcessRequest): fixed processing order. The page is unloaded after
1601         a request and regenerated from view state on subsequents posts.
1602
1603 2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1604
1605         * Control.cs: fixed related to ViewState. Added RemovedControl.
1606
1607         * ControlCollection.cs: notify owner of control removal.
1608         
1609         * CssStyleCollection.cs: almost rewritten to make it render the style
1610         attribute after changes to it.
1611
1612         * Page.cs: follow the guidelines in 'Control execution lifecycle'.
1613         Removed Xml code.
1614
1615         * StateBag.cs: don't use IDictionary.GetEnumerator on the
1616         HybridDictionary: it makes the program give an InvalidCastException at
1617         runtime. Why?
1618
1619 2002-07-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1620
1621         * Page.cs: fire Init and Load events for all children.
1622
1623 2002-07-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1624
1625         * UserControl.cs: New file.
1626
1627 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1628
1629         * ControlBuilderAttribute.cs: finished implementation.
1630
1631 2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1632
1633         * ConstructorNeedsTagAttribute.cs: the default constructor sets the
1634         property to false.
1635
1636 2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1637
1638         * System.Web.UI/AttributeCollection.cs: added CssStyleCollection.
1639
1640         * System.Web.UI/CssStyleCollection.cs: use a StateBag instead of a
1641         Hashtable. Added internal .ctor.
1642
1643         * System.Web.UI/DataBinding.cs: propertyType is a Type. Implemented
1644         Equals and GetHashCode.
1645
1646         * System.Web.UI/DataBoundLiteralControl.cs:
1647         (LoadViewState):
1648         (SaveViewState): implemented.
1649
1650         * System.Web.UI/Page.cs: FileDependencies is not public.
1651
1652         * System.Web.UI/ParseChildrenAttribute.cs: give a value to Default.
1653         (GetHashCode):
1654         (Equals):
1655         (IsDefaultAttribute): implemented.
1656
1657 2002-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1658
1659         * Control.cs: fixed Visible property.
1660         * Page.cs: fixed GetViewStateString.
1661
1662 2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1663
1664         * System.Web.UI/Page.cs:
1665         (GetViewStateString): new function to give the server access to the
1666         generated view state string.
1667         (Validate): d'oh!
1668
1669 2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1670
1671         * Control.cs:
1672         (SaveViewstateRecursive): implemented.
1673         (SaveViewState): fixed.
1674         (IParserAccessor.AddParsedSubObject): don't use 'this'.
1675
1676         * Page.cs: added code to save view state to an xml file.  It's not
1677         being used right now.
1678
1679 2002-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1680
1681         * System.Web.UI/LiteralControl.cs: 
1682         Fixes based on class status page:
1683         
1684                 - Add attributes (DefaultEvent, ParseChildren).
1685                 - Fix declarations.
1686                 - Explicitly implement some interfaces (IPostBackDataHandler
1687                 and IPostBackEventHandler).
1688                 - Implemented some missing methods.
1689
1690 2002-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1691
1692         * Control.cs: reimplemented FindControls.
1693
1694         * Page.cs:
1695         (.ctor): set the page for this control.
1696         (IsPostBack): return valid value.
1697         (DeterminePostBackMode): finished.
1698         (OnFormRender): render __VIEWSTATE (uses GetTypeHashCode()).
1699         (ProcessPostData): implemented. Raises change and postback events.
1700         (ProcessRequest): changed to support reuse of the instance.
1701         (RegisterRequiresPostBack): implemented.
1702
1703         * ValidatorCollection.cs: implemented all methods.
1704
1705 2002-06-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1706
1707         * Control.cs:
1708         * Page.cs: first attemp to save view state.
1709
1710         * HtmlForm.cs: don't render Action.
1711
1712 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1713
1714         * Page.cs: implemented more properties using information we already
1715         have in Context.
1716         (OnFormRender):
1717         (OnFormPostRender):
1718         (VerifyRenderingInServerForm): implemented.
1719
1720 2002-06-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1721
1722         * Page.cs: changed InvokeEventMethod to use a GetMethod that works with
1723         out runtime. Renamed Page_Init and Page_Load.
1724
1725         After this, we can load a dll and render HTML in linux.
1726
1727 2002-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1728
1729         * Control.cs:
1730         (AddedControl): new function that is called whenever a control is
1731         added to a collection of controls in a container. It sets the defaults
1732         except for Page.
1733         
1734         * ControlCollection.cs: call AddedControl in Add/AddAt.
1735
1736         * DataBoundLiteralControl.cs: implemented constructor, Text, Render,
1737         SetStaticString and SetDataBoundString.
1738
1739         * Page.cs: removed SetDefaults.
1740
1741 2002-06-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1742
1743         * CompiledTemplateBuilder.cs: new file. Used in the code generated
1744         by xsp.
1745
1746         * Control.cs:
1747         (BindingContainer): implemented.
1748         (EnsureChildControls): avoid stack overflow.
1749
1750         * DataBinder.cs: implemented Eval and PropertyValue.
1751
1752 2002-06-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1753
1754         * HtmlTextWriter.cs: fixed style attributes rendering (almost the same
1755         bug as in regular attributes).
1756
1757 2002-06-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1758
1759         * Control.cs: implemented PreventAutoID.
1760
1761         * Page.cs:
1762         (SetDefaults): don't set ID automatically if Control.PreventAutoID has
1763         been called.
1764
1765 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1766
1767         * Page.cs:
1768         (Validators): if the collection is null, create one.
1769         (GetPostBackEventReference 2): don't throw exception.
1770         (GetPostBackClientEvent): return a string with containing the method
1771         name, the control name and the argument.
1772
1773 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1774
1775         * Page.cs: SetPage is now called SetDefaults and also sets a default 
1776         ID for controls that don't have one yet.
1777
1778 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1779
1780         * Page.cs:
1781         (GetPostBackClient):
1782         (RegisterRequiresPostBack): don't throw NotImplementedException to
1783         keep going.
1784         (ProcessRequest): set the current page as the Page property for *all*
1785         the controls, not just the direct children of the page.
1786
1787 2002-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1788
1789         * Control.cs:
1790         (MapPathSecure): until security is implemented, return the same path
1791         received as argument.
1792         (RenderControl): call OnPreRender before rendering the control. So
1793         AdRotator can read its configuration file.Is there any other place
1794         where this should be done?
1795
1796         * HtmlTextWriter.cs:
1797         (AddAttribute): fixed. Now it really stores attributes.
1798         (RenderBeginTag): fixed a couple of bugs (little ones but hard to find).
1799
1800 2002-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1801
1802         * ControlCollection.cs:
1803         (AddAt): if index is -1 behave as a plain Add.
1804
1805 2002-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1806
1807         * Page.cs: for each child control to render, assign Control.Page.
1808         Probably also needed in HtmlContainerControl derived classes.
1809         
1810 2002-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1811
1812         * AttributeCollection.cs: don't need a Hastable. StateBag now works 
1813         fine and takes care of the details.
1814
1815         * Control.cs: added HasChildren property.
1816
1817         * StateBag.cs: fixed a couple of nasty bugs.
1818
1819 2002-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1820
1821         * Page.cs: run OnInit, OnLoad y PreRender before rendering the page.
1822         Invoke Page_Init and/or Page_Load if the user supplied them (though 
1823         this should depend on AutoEventWireUp attribute of Page directive).
1824
1825 2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1826
1827         * Control.cs: don't throw exception in ControlID. By now, it returns ID.
1828
1829         * Page.cs: 
1830         (ProcessRequest): implemented.
1831
1832 2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1833
1834         * System.Web.UI/Page.cs: finished stubbing out. Implemented some
1835         methods.
1836
1837 2002-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1838
1839         * Page.cs:
1840         (FileDependencies): now is public public.
1841         (EnableViewStateMAC): uncommented and made protected. 
1842         (GetTypeHashCode): added method.
1843         
1844 2002-05-24  Duncan Mak  <duncan@ximian.com>
1845
1846         * TemplateControl.cs (SetStringResourcePointer): Fixed typo.
1847
1848         * StateBag.cs (Item): Changed the visibility level of the this
1849         [object] indexer.
1850
1851         Misc. formatting edits, fixing some bugs introduced by the indentation.
1852
1853         * DataBinder.cs (Eval)
1854         (GetIndexedPropertyValue)
1855         (GetPropertyValue): Fixed return types.
1856
1857 2002-05-21  Miguel de Icaza  <miguel@ximian.com>
1858
1859         * HtmlTextWriter.cs: Use this to change the member instances.
1860
1861 2002-05-17  Duncan Mak  <duncan@ximian.com>
1862
1863         * AttributeCollection.cs: 
1864         * ControlCollection.cs: 
1865         * CssStyleCollection.cs: 
1866         * DataBindingCollection.cs: 
1867         * EmptyControlCollection.cs: Added missing Collection classes.
1868
1869 2002-05-17  Duncan Mak  <duncan@ximian.com>
1870
1871         * BaseParser.cs:
1872         * TemplateParser.cs:  Implemented. BaseParser is weird because
1873         there is no documentation on what it does.
1874
1875         * ControlBuilder.cs:
1876         
1877         * DataBinder.cs: 
1878         * DataBinding.cs: Added. 
1879
1880         * DataBoundLiteralControl.cs: 
1881         * Triplet.cs: Added.
1882
1883         * RenderMethod.cs: Added this delegate for Control.cs
1884
1885 2002-05-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1886
1887         * ValidationPropertyAttribute.cs: a couple of fixes to make it compile.
1888
1889 2002-05-14  Duncan Mak  <duncan@ximian.com>
1890
1891         * ValidationPropertyAttribute.cs: Added to CVS.
1892
1893 2002-05-10  Duncan Mak  <duncan@ximian.com>
1894
1895         * ConstructorNeedsTagAttribute.cs: 
1896         * ControlBuilderAttribute.cs: 
1897         * ImageClickEventArgs.cs: 
1898         * ParseChildrenAttribute.cs: 
1899         * PartialCachingAttribute.cs: 
1900         * PersistChildrenAttribute.cs: 
1901         * PersistenceModeAttribute.cs: 
1902         * TemplateContainerAttribute.cs: Added to CVS.
1903
1904         * PersistanceMode.cs: Removed, fixed typo.
1905         * PersistenceMode.cs: Replacing above.
1906
1907         * StateBag.cs (this): Fixed indexer, it takes a string as the
1908         index, not an object.
1909
1910         * ValidatorCollection.cs: Fixed typo, ValidatedCollection to ValidatorCollection. 
1911
1912         * Page.cs (Validators): return type should be ValidatorCollection,
1913         not ValidatedCollection.
1914
1915         * TagPrefixAttribute.cs: Added to CVS.
1916
1917 2002-05-07  Duncan Mak  <duncan@ximian.com>
1918
1919         * Utils.cs (GetClientValidatedEvent): Uncommented the 'Page' argument.
1920
1921 2002-03-26   Gaurav Vaish <gvaish@iitk.ac.in>
1922
1923         * DataBindingHandlerAttribute.cs
1924                                    - Completed
1925         * ToolboxDataAttribute.cs  - Completed
1926
1927 2002-01-03  Nick Drochak  <ndrochak@gol.com>
1928
1929         * DesignTimeParseData.cs: initialze static member to avoid compile
1930         error
1931         * PropertyConverter.cs: remove uneeded exception variables from
1932         catch blocks.
1933
1934 2002-01-02  Nick Drochak  <ndrochak@gol.com>
1935
1936         * DesignTimeParseData.cs: fix header to show correct class name
1937
1938 2001-12-21   Gaurav Vaish <gvaish@iitk.ac.in>
1939
1940         * StateBag.cs             - Completed
1941
1942 2001-12-19   Gaurav Vaish <gvaish@iitk.ac.in>
1943
1944         * Pair.cs                 - Small undocumented class. Completed.
1945
1946 2001-12-18   Gaurav Vaish <gvaish@iitk.ac.in>
1947
1948         * DesignTimeParseData.cs  - Initial implementation
1949         * StateBag.cs             - Initial implementation
1950
1951 2001-12-17   Gaurav Vaish <gvaish@iitk.ac.in>
1952
1953         * PropertyConverter.cs    - Undocumented class. Completed.
1954         * Utils.cs                - Undocumented, private class.
1955                                     Initial implementation
1956
1957 2001-08-28  Bob Smith  <bob@thestuff.net>
1958         * Control.cs: Figured out some undocumented API.
1959         * Added TODO.
1960         * BuildMethod.cs: Initial implementation.
1961         * BuildTemplateMethod.cs: Initial implementation.
1962         * HtmlTextWriterAttribute.cs: Initial implementation.
1963         * HtmlTextWriterStyle.cs: Initial implementation.
1964         * HtmlTextWriterTag.cs: Initial implementation.
1965         * IAttributeAccessor.cs: Initial implementation.
1966         * IDataBindingsAccessor.cs: Initial implementation.
1967         * ImageClickEventHandler.cs: Initial implementation.
1968         * INamingContainer.cs: Initial implementation.
1969         * IParserAccessor.cs: Initial implementation.
1970         * IPostBackDataHandler.cs: Initial implementation.
1971         * IPostBackEventHandler.cs: Initial implementation.
1972         * IStateManager.cs: Initial implementation.
1973         * ITagNameToTypeMapper.cs: Initial implementation.
1974         * ITemplate.cs: Initial implementation.
1975         * IValidator.cs: Initial implementation.
1976         * OutputCacheLocation.cs: Initial implementation.
1977         * PersistanceMode.cs: Initial implementation.
1978         * StateItem.cs: Initial implementation.
1979
1980 2001-08-27  Bob Smith  <bob@thestuff.net>
1981
1982         * Control.cs: Bug fixes and implementations.
1983
1984 2001-08-24  Bob Smith  <bob@thestuff.net>
1985
1986         * Control.cs: Bug fixes.
1987
1988 2001-08-23  Bob Smith  <bob@thestuff.net>
1989
1990         * Control.cs: More implementation. Events reworked for performance.
1991
1992 2001-08-22  Bob Smith  <bob@thestuff.net>
1993
1994         * LiteralControl.cs: Implemented.
1995         * Control.cs: Even more implementation (Events). What a beast.
1996
1997 2001-08-20  Bob Smith  <bob@thestuff.net>
1998
1999         * Control.cs: More implementation. Not done yet. Shutter.
2000
2001 2001-08-17  Bob Smith  <bob@thestuff.net>
2002
2003         * Control.cs: Partial implementation.