Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- BCLDebug.cs
- mda.cs
- ColorAnimationBase.cs
- ContourSegment.cs
- QilPatternFactory.cs
- PeerApplicationLaunchInfo.cs
- DateTimeValueSerializer.cs
- InvalidOleVariantTypeException.cs
- AutomationPatternInfo.cs
- PropertyValidationContext.cs
- SimpleBitVector32.cs
- TextView.cs
- NullRuntimeConfig.cs
- MemberRelationshipService.cs
- _AcceptOverlappedAsyncResult.cs
- OdbcConnectionString.cs
- CacheEntry.cs
- BCryptHashAlgorithm.cs
- PlatformNotSupportedException.cs
- CodeAttachEventStatement.cs
- BuildProvider.cs
- TypeListConverter.cs
- SaveLedgerEntryRequest.cs
- UshortList2.cs
- NetTcpSecurityElement.cs
- XPathAxisIterator.cs
- ComboBox.cs
- Adorner.cs
- StreamResourceInfo.cs
- Attachment.cs
- DefaultPropertyAttribute.cs
- TextChangedEventArgs.cs
- DockingAttribute.cs
- DecoderBestFitFallback.cs
- ModelPerspective.cs
- XmlSchemaFacet.cs
- FileStream.cs
- ContentTypeSettingDispatchMessageFormatter.cs
- NetCodeGroup.cs
- RichTextBox.cs
- ThreadInterruptedException.cs
- CaseInsensitiveHashCodeProvider.cs
- ErrorProvider.cs
- Int16AnimationUsingKeyFrames.cs
- InstanceDataCollectionCollection.cs
- EnumType.cs
- dataSvcMapFileLoader.cs
- Mapping.cs
- AuthenticationServiceManager.cs
- DataKey.cs
- Rethrow.cs
- _BasicClient.cs
- TextDecoration.cs
- TextElement.cs
- FrameworkElementFactoryMarkupObject.cs
- TriggerCollection.cs
- MSAANativeProvider.cs
- RadioButton.cs
- FragmentQueryProcessor.cs
- StorageEntityContainerMapping.cs
- QueryCacheEntry.cs
- TableLayoutPanelCellPosition.cs
- WinEventWrap.cs
- UTF8Encoding.cs
- CompoundFileIOPermission.cs
- ListControlBoundActionList.cs
- ToolStripGripRenderEventArgs.cs
- BlockExpression.cs
- FixedTextView.cs
- TripleDES.cs
- Selection.cs
- ListViewDataItem.cs
- ScriptingAuthenticationServiceSection.cs
- HtmlForm.cs
- CategoryGridEntry.cs
- UnsafeCollabNativeMethods.cs
- CodeAttributeDeclaration.cs
- ManipulationInertiaStartingEventArgs.cs
- Rect3DConverter.cs
- ChtmlTextWriter.cs
- TextParagraph.cs
- ObjectDesignerDataSourceView.cs
- Matrix.cs
- GenerateScriptTypeAttribute.cs
- DataKey.cs
- autovalidator.cs
- ScrollPatternIdentifiers.cs
- FocusManager.cs
- SafeNativeMethods.cs
- ScrollChrome.cs
- FullTextBreakpoint.cs
- SafeFileMappingHandle.cs
- ContentPresenter.cs
- PropertiesTab.cs
- XamlParser.cs
- DataGridTablesFactory.cs
- ReferenceEqualityComparer.cs
- ResourcePart.cs
- BinHexEncoding.cs
- ElementNotAvailableException.cs