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
- RepeaterItem.cs
- TreeViewHitTestInfo.cs
- ResourceDescriptionAttribute.cs
- DesignerOptions.cs
- QuotedPrintableStream.cs
- DynamicILGenerator.cs
- WebPartEventArgs.cs
- ContainerSelectorBehavior.cs
- ManipulationPivot.cs
- ObjectQueryProvider.cs
- RunClient.cs
- SqlUserDefinedTypeAttribute.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- RadioButton.cs
- InfoCardArgumentException.cs
- ColorConvertedBitmap.cs
- IsolatedStorageException.cs
- updatecommandorderer.cs
- HttpRequestCacheValidator.cs
- GridViewActionList.cs
- StringFormat.cs
- BitmapInitialize.cs
- SafeNativeMethods.cs
- DataProviderNameConverter.cs
- ServiceMoniker.cs
- InstanceOwnerQueryResult.cs
- BitStack.cs
- shaperfactoryquerycachekey.cs
- GenerateScriptTypeAttribute.cs
- DbDeleteCommandTree.cs
- DrawListViewItemEventArgs.cs
- Base64Decoder.cs
- DebugController.cs
- ThreadStateException.cs
- XsdBuildProvider.cs
- AVElementHelper.cs
- QueryOpeningEnumerator.cs
- HitTestWithPointDrawingContextWalker.cs
- RoutedEventHandlerInfo.cs
- SpecialFolderEnumConverter.cs
- DNS.cs
- AssemblySettingAttributes.cs
- TextOptionsInternal.cs
- _ProxyRegBlob.cs
- ListViewContainer.cs
- HwndKeyboardInputProvider.cs
- DocumentPageView.cs
- TypedAsyncResult.cs
- InternalDuplexChannelFactory.cs
- XmlnsCache.cs
- ObfuscationAttribute.cs
- ToolboxComponentsCreatedEventArgs.cs
- NamedElement.cs
- XmlDomTextWriter.cs
- ChannelServices.cs
- EntityDataReader.cs
- IImplicitResourceProvider.cs
- ConfigurationStrings.cs
- DesigntimeLicenseContextSerializer.cs
- TextServicesDisplayAttribute.cs
- StyleSheetComponentEditor.cs
- Constants.cs
- BaseHashHelper.cs
- IntersectQueryOperator.cs
- RenamedEventArgs.cs
- Double.cs
- CombinedGeometry.cs
- SecurityBindingElement.cs
- AppDomainResourcePerfCounters.cs
- Table.cs
- Icon.cs
- MetadataItem.cs
- HttpServerUtilityBase.cs
- DesignerSerializationOptionsAttribute.cs
- WsdlBuildProvider.cs
- RequestQueryParser.cs
- ToolStripItemEventArgs.cs
- FacetEnabledSchemaElement.cs
- DynamicFilterExpression.cs
- Transform3DGroup.cs
- RubberbandSelector.cs
- DataServiceQuery.cs
- CssClassPropertyAttribute.cs
- ZipIORawDataFileBlock.cs
- HtmlInputReset.cs
- Conditional.cs
- MulticastNotSupportedException.cs
- DataBinding.cs
- DPTypeDescriptorContext.cs
- MeasurementDCInfo.cs
- CultureTableRecord.cs
- SQLInt16Storage.cs
- DataColumnMapping.cs
- WindowsFormsHostAutomationPeer.cs
- ServiceDebugElement.cs
- DiscreteKeyFrames.cs
- NameHandler.cs
- OdbcReferenceCollection.cs
- _ListenerAsyncResult.cs
- PeerApplicationLaunchInfo.cs