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
- DetailsViewUpdatedEventArgs.cs
- Viewport3DVisual.cs
- WinHttpWebProxyFinder.cs
- CodeBlockBuilder.cs
- SQLInt32.cs
- ConfigurationElementCollection.cs
- UnsafeCollabNativeMethods.cs
- UnionCodeGroup.cs
- PageFunction.cs
- StrongNameKeyPair.cs
- ImportCatalogPart.cs
- FunctionImportElement.cs
- SaveFileDialog.cs
- QilReplaceVisitor.cs
- FixedElement.cs
- TemplatedAdorner.cs
- TreeViewDesigner.cs
- DataGridBoolColumn.cs
- RequestStatusBarUpdateEventArgs.cs
- DelegatedStream.cs
- ConnectionPoolManager.cs
- XmlQualifiedName.cs
- InputBinder.cs
- ApplicationServicesHostFactory.cs
- DBSqlParserColumnCollection.cs
- ProgressBarBrushConverter.cs
- SqlServices.cs
- ItemsChangedEventArgs.cs
- AsyncCodeActivity.cs
- TextProperties.cs
- ContractInstanceProvider.cs
- AsyncContentLoadedEventArgs.cs
- InterleavedZipPartStream.cs
- MetaTableHelper.cs
- ControlSerializer.cs
- HebrewCalendar.cs
- CodeArgumentReferenceExpression.cs
- SafeThemeHandle.cs
- SafeReadContext.cs
- RemotingServices.cs
- X509Extension.cs
- ClientConfigurationHost.cs
- InternalBufferOverflowException.cs
- AutomationPattern.cs
- NotifyParentPropertyAttribute.cs
- Accessible.cs
- DetailsView.cs
- ResolveCompletedEventArgs.cs
- QuadraticEase.cs
- ExtensionWindowHeader.cs
- CounterSampleCalculator.cs
- CharUnicodeInfo.cs
- ThreadSafeList.cs
- MobileControlsSection.cs
- LinkClickEvent.cs
- BypassElement.cs
- ComboBox.cs
- ipaddressinformationcollection.cs
- BaseDataList.cs
- XmlDsigSep2000.cs
- Aggregates.cs
- FontInfo.cs
- AttachedPropertyMethodSelector.cs
- RoleProviderPrincipal.cs
- TreeBuilderXamlTranslator.cs
- BoundColumn.cs
- HttpCachePolicyElement.cs
- Size.cs
- ProgressBarHighlightConverter.cs
- SessionStateSection.cs
- _NegoState.cs
- CachedPathData.cs
- ExecutionProperties.cs
- TabControlToolboxItem.cs
- DocumentPage.cs
- CachedRequestParams.cs
- ValidatingPropertiesEventArgs.cs
- IISMapPath.cs
- SignerInfo.cs
- ToolStripOverflow.cs
- ComponentConverter.cs
- RTTrackingProfile.cs
- CompareValidator.cs
- TrustLevelCollection.cs
- Enum.cs
- PackWebRequestFactory.cs
- DrawingCollection.cs
- CompositeActivityCodeGenerator.cs
- SqlResolver.cs
- TransformGroup.cs
- SharedUtils.cs
- QilStrConcat.cs
- ImpersonateTokenRef.cs
- TextServicesProperty.cs
- XmlSchemaGroupRef.cs
- RightsManagementEncryptionTransform.cs
- Cursor.cs
- EventSinkHelperWriter.cs
- HGlobalSafeHandle.cs
- TableLayoutCellPaintEventArgs.cs