Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UI / ControlAdapter.cs / 1 / 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 { /* VSWhidbey 83667: In post-cache substitution, Page.Request * would not be available. Then we try to * use the more expensive way to access the current * context and get the request handle. */ 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. //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 { /* VSWhidbey 83667: In post-cache substitution, Page.Request * would not be available. Then we try to * use the more expensive way to access the current * context and get the request handle. */ 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FormViewPageEventArgs.cs
- GridViewRowCollection.cs
- NonClientArea.cs
- DropShadowBitmapEffect.cs
- FormatException.cs
- DataGridAutoFormatDialog.cs
- UniqueCodeIdentifierScope.cs
- HostingPreferredMapPath.cs
- HtmlElementCollection.cs
- XmlCharCheckingWriter.cs
- SemanticTag.cs
- OutputCacheSettings.cs
- TemplatedAdorner.cs
- AnnotationResourceCollection.cs
- PagedDataSource.cs
- DockProviderWrapper.cs
- Encoding.cs
- FormViewRow.cs
- Label.cs
- FilterElement.cs
- Brush.cs
- Parameter.cs
- ArrayList.cs
- QueryAccessibilityHelpEvent.cs
- PropertyChangeTracker.cs
- Point3D.cs
- LoginNameDesigner.cs
- SoapTypeAttribute.cs
- SafeEventLogReadHandle.cs
- ObjectReferenceStack.cs
- MatrixCamera.cs
- PlainXmlDeserializer.cs
- OdbcConnectionHandle.cs
- ErrorsHelper.cs
- MouseGestureConverter.cs
- CombinedGeometry.cs
- TextEditorCopyPaste.cs
- WebServiceHandlerFactory.cs
- Literal.cs
- HttpCachePolicyElement.cs
- Brushes.cs
- ContactManager.cs
- AutomationFocusChangedEventArgs.cs
- XmlLanguageConverter.cs
- CommandEventArgs.cs
- RequestValidator.cs
- XmlSchemaSimpleContentRestriction.cs
- UnmanagedMemoryStream.cs
- DataColumnMapping.cs
- ProcessStartInfo.cs
- XmlArrayItemAttributes.cs
- AuthorizationRuleCollection.cs
- GeometryConverter.cs
- OracleCommand.cs
- SharedPersonalizationStateInfo.cs
- CompositionAdorner.cs
- DataServiceHost.cs
- ImageFormatConverter.cs
- MessageEncoder.cs
- MatrixCamera.cs
- MetadataArtifactLoaderResource.cs
- ParameterCollectionEditorForm.cs
- TriggerAction.cs
- CounterSample.cs
- DesignTimeTemplateParser.cs
- OpCodes.cs
- FolderBrowserDialogDesigner.cs
- DoubleAnimationClockResource.cs
- diagnosticsswitches.cs
- Matrix3D.cs
- TCEAdapterGenerator.cs
- IApplicationTrustManager.cs
- SQLBytes.cs
- EncoderParameter.cs
- TextBoxAutomationPeer.cs
- BitmapEffectInput.cs
- AlphaSortedEnumConverter.cs
- DataBoundLiteralControl.cs
- ErrorStyle.cs
- TileBrush.cs
- ControlCollection.cs
- HttpDigestClientCredential.cs
- KnownBoxes.cs
- ProjectedWrapper.cs
- UIPermission.cs
- httpserverutility.cs
- ConnectionInterfaceCollection.cs
- SqlDataSource.cs
- errorpatternmatcher.cs
- PersonalizationStateInfo.cs
- AttributeProviderAttribute.cs
- CounterNameConverter.cs
- ErrorHandlerModule.cs
- ButtonBase.cs
- QuaternionAnimationBase.cs
- DrawingState.cs
- DefaultProxySection.cs
- Int64KeyFrameCollection.cs
- PrintPreviewGraphics.cs
- MultiPageTextView.cs