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
- FileEnumerator.cs
- Parsers.cs
- UrlPath.cs
- HtmlInputPassword.cs
- LocalTransaction.cs
- Transactions.cs
- PrintPreviewControl.cs
- CollectionConverter.cs
- AsymmetricAlgorithm.cs
- HttpRequest.cs
- SqlReferenceCollection.cs
- SpellerInterop.cs
- ValidatingCollection.cs
- RenderCapability.cs
- XsdCachingReader.cs
- UnhandledExceptionEventArgs.cs
- WindowsScrollBarBits.cs
- DbParameterHelper.cs
- TextContainerChangedEventArgs.cs
- NumberFormatInfo.cs
- BrowserCapabilitiesFactory.cs
- PartitionedStreamMerger.cs
- IIS7WorkerRequest.cs
- HtmlWindow.cs
- Popup.cs
- MSAAEventDispatcher.cs
- LinearGradientBrush.cs
- SafeReadContext.cs
- MatrixAnimationUsingKeyFrames.cs
- ClientTargetCollection.cs
- XmlAttributeProperties.cs
- AsymmetricKeyExchangeDeformatter.cs
- DataColumnChangeEvent.cs
- ExpandCollapsePattern.cs
- TextLineBreak.cs
- WebPartDescriptionCollection.cs
- _AuthenticationState.cs
- InvokeBase.cs
- ManagedIStream.cs
- CacheChildrenQuery.cs
- SerializationSectionGroup.cs
- TracedNativeMethods.cs
- PersonalizationStateQuery.cs
- DataGridViewBand.cs
- WebBrowserPermission.cs
- SystemSounds.cs
- CompiledXpathExpr.cs
- BufferedGraphicsContext.cs
- InkCanvas.cs
- DBSchemaRow.cs
- SafeUserTokenHandle.cs
- CodeIterationStatement.cs
- IWorkflowDebuggerService.cs
- ObjectMemberMapping.cs
- AnnotationAdorner.cs
- WebReferencesBuildProvider.cs
- PageParserFilter.cs
- ItemAutomationPeer.cs
- ThicknessAnimationUsingKeyFrames.cs
- DBAsyncResult.cs
- ResourcePermissionBase.cs
- Misc.cs
- AccessKeyManager.cs
- StylusEventArgs.cs
- XPathExpr.cs
- SiteMapNodeItemEventArgs.cs
- CheckBoxPopupAdapter.cs
- AnimationException.cs
- JpegBitmapEncoder.cs
- Bold.cs
- DecimalKeyFrameCollection.cs
- WebPartMenu.cs
- DataAdapter.cs
- WebBrowser.cs
- SqlReferenceCollection.cs
- ImageCodecInfo.cs
- Preprocessor.cs
- SecurityState.cs
- HtmlInputText.cs
- NameValueConfigurationElement.cs
- WinFormsUtils.cs
- HeaderedContentControl.cs
- ConfigPathUtility.cs
- AdjustableArrowCap.cs
- Keywords.cs
- ProcessModuleCollection.cs
- SmiGettersStream.cs
- HttpCacheParams.cs
- ReliableMessagingVersionConverter.cs
- HMACMD5.cs
- SqlDataSourceCommandEventArgs.cs
- SqlLiftWhereClauses.cs
- ComAdminInterfaces.cs
- SQLInt64.cs
- xmlsaver.cs
- RequestCacheValidator.cs
- Stackframe.cs
- namescope.cs
- CharacterBufferReference.cs
- ScrollPatternIdentifiers.cs