Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / ControlAdapter.cs / 2 / ControlAdapter.cs
//How to set the _control //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Adapters { using System; using System.ComponentModel; using System.Security.Permissions; /* Defines the properties, methods, and events shared by all server control * adapters in the Web Forms page framework. */ [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public abstract class ControlAdapter { private HttpBrowserCapabilities _browser = null; internal Control _control; //control associated with this adapter [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), ] protected Control Control { get { return _control; } } /* Indicates the page on which the associated control resides. */ [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), ] protected Page Page { get { if(Control != null) return Control.Page; return null; } } [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), ] protected PageAdapter PageAdapter { get { if(Control != null && Control.Page != null) return Control.Page.PageAdapter; return null; } } protected HttpBrowserCapabilities Browser { get { if (_browser == null) { if (Page.RequestInternal != null) { _browser = Page.RequestInternal.Browser; } else { /* */ HttpContext context = HttpContext.Current; if (context != null && context.Request != null) { _browser = context.Request.Browser; } } } return _browser; } } protected internal virtual void OnInit(EventArgs e) { Control.OnInit(e); } protected internal virtual void OnLoad(EventArgs e) { Control.OnLoad(e); } protected internal virtual void OnPreRender(EventArgs e) { Control.OnPreRender(e); } protected internal virtual void Render(HtmlTextWriter writer) { // if(_control != null) { _control.Render(writer); } } protected virtual void RenderChildren(HtmlTextWriter writer) { if(_control != null) { _control.RenderChildren(writer); } } protected internal virtual void OnUnload(EventArgs e) { Control.OnUnload(e); } protected internal virtual void BeginRender(HtmlTextWriter writer) { writer.BeginRender(); } protected internal virtual void CreateChildControls() { Control.CreateChildControls(); } protected internal virtual void EndRender(HtmlTextWriter writer) { writer.EndRender(); } protected internal virtual void LoadAdapterControlState(object state) { } protected internal virtual void LoadAdapterViewState(object state) { } protected internal virtual object SaveAdapterControlState() { return null; } protected internal virtual object SaveAdapterViewState() { return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //How to set the _control //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Adapters { using System; using System.ComponentModel; using System.Security.Permissions; /* Defines the properties, methods, and events shared by all server control * adapters in the Web Forms page framework. */ [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public abstract class ControlAdapter { private HttpBrowserCapabilities _browser = null; internal Control _control; //control associated with this adapter [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), ] protected Control Control { get { return _control; } } /* Indicates the page on which the associated control resides. */ [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), ] protected Page Page { get { if(Control != null) return Control.Page; return null; } } [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), ] protected PageAdapter PageAdapter { get { if(Control != null && Control.Page != null) return Control.Page.PageAdapter; return null; } } protected HttpBrowserCapabilities Browser { get { if (_browser == null) { if (Page.RequestInternal != null) { _browser = Page.RequestInternal.Browser; } else { /* */ HttpContext context = HttpContext.Current; if (context != null && context.Request != null) { _browser = context.Request.Browser; } } } return _browser; } } protected internal virtual void OnInit(EventArgs e) { Control.OnInit(e); } protected internal virtual void OnLoad(EventArgs e) { Control.OnLoad(e); } protected internal virtual void OnPreRender(EventArgs e) { Control.OnPreRender(e); } protected internal virtual void Render(HtmlTextWriter writer) { // if(_control != null) { _control.Render(writer); } } protected virtual void RenderChildren(HtmlTextWriter writer) { if(_control != null) { _control.RenderChildren(writer); } } protected internal virtual void OnUnload(EventArgs e) { Control.OnUnload(e); } protected internal virtual void BeginRender(HtmlTextWriter writer) { writer.BeginRender(); } protected internal virtual void CreateChildControls() { Control.CreateChildControls(); } protected internal virtual void EndRender(HtmlTextWriter writer) { writer.EndRender(); } protected internal virtual void LoadAdapterControlState(object state) { } protected internal virtual void LoadAdapterViewState(object state) { } protected internal virtual object SaveAdapterControlState() { return null; } protected internal virtual object SaveAdapterViewState() { return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSchemaExporter.cs
- bindurihelper.cs
- DiscardableAttribute.cs
- XslException.cs
- ActiveXSite.cs
- PropertyStore.cs
- UserInitiatedRoutedEventPermission.cs
- CTreeGenerator.cs
- TableLayoutPanelDesigner.cs
- GlyphRunDrawing.cs
- ArrayList.cs
- PersonalizationProviderHelper.cs
- XamlInt32CollectionSerializer.cs
- FilterableAttribute.cs
- DriveInfo.cs
- ButtonColumn.cs
- HttpStaticObjectsCollectionBase.cs
- HttpCacheVary.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- WebSysDefaultValueAttribute.cs
- DataControlFieldCollection.cs
- IDQuery.cs
- WizardSideBarListControlItemEventArgs.cs
- PerfService.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- RemoveStoryboard.cs
- PrivilegeNotHeldException.cs
- FragmentNavigationEventArgs.cs
- AvTraceDetails.cs
- TableColumnCollectionInternal.cs
- BuildProviderAppliesToAttribute.cs
- xmlglyphRunInfo.cs
- EventOpcode.cs
- ToolTipService.cs
- XmlFormatExtensionAttribute.cs
- ValueUnavailableException.cs
- SoapInteropTypes.cs
- MdbDataFileEditor.cs
- ScalarRestriction.cs
- SpeechSynthesizer.cs
- MarkedHighlightComponent.cs
- XmlImplementation.cs
- UTF8Encoding.cs
- RawStylusActions.cs
- OdbcParameterCollection.cs
- RectangleGeometry.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- AssociatedControlConverter.cs
- AsyncParams.cs
- ReferenceCountedObject.cs
- RegexReplacement.cs
- DayRenderEvent.cs
- ModifierKeysConverter.cs
- SQLGuid.cs
- InvalidTimeZoneException.cs
- TextCompositionManager.cs
- WorkItem.cs
- RightsManagementUser.cs
- _ListenerAsyncResult.cs
- WizardPanel.cs
- MaterialCollection.cs
- __TransparentProxy.cs
- MimeObjectFactory.cs
- XmlSerializer.cs
- GenericAuthenticationEventArgs.cs
- Object.cs
- ConfigurationElement.cs
- COM2EnumConverter.cs
- GlyphsSerializer.cs
- ClonableStack.cs
- CodeMethodReturnStatement.cs
- Point4DValueSerializer.cs
- Int64AnimationBase.cs
- PropertyMap.cs
- UnhandledExceptionEventArgs.cs
- SymbolType.cs
- CodeCompileUnit.cs
- SynthesizerStateChangedEventArgs.cs
- MessageBox.cs
- _SSPISessionCache.cs
- DataGridViewCellStyle.cs
- MetabaseReader.cs
- DocumentSequence.cs
- MultiSelectRootGridEntry.cs
- KoreanLunisolarCalendar.cs
- RequestTimeoutManager.cs
- StylusPlugInCollection.cs
- Block.cs
- XmlTypeMapping.cs
- BuildProvider.cs
- PositiveTimeSpanValidatorAttribute.cs
- Zone.cs
- IisTraceWebEventProvider.cs
- RequestTimeoutManager.cs
- ParserOptions.cs
- HtmlLink.cs
- Utils.cs
- UiaCoreProviderApi.cs
- ProjectionCamera.cs
- TextEditorSelection.cs