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
- CacheSection.cs
- Model3D.cs
- Cursors.cs
- TextEffect.cs
- PrinterUnitConvert.cs
- DetailsViewRow.cs
- HttpTransportElement.cs
- SerializationObjectManager.cs
- DependencyPropertyHelper.cs
- WebMessageEncoderFactory.cs
- SortDescriptionCollection.cs
- ResXResourceWriter.cs
- PriorityBinding.cs
- SessionStateSection.cs
- DeviceContext2.cs
- List.cs
- ReachSerializerAsync.cs
- VerticalAlignConverter.cs
- ObfuscateAssemblyAttribute.cs
- EntityDescriptor.cs
- TextWriter.cs
- SqlBinder.cs
- ElementHostPropertyMap.cs
- SimpleHandlerFactory.cs
- SystemInformation.cs
- RubberbandSelector.cs
- SqlDataSourceView.cs
- FixedSOMPageElement.cs
- RepeaterItemCollection.cs
- KeyFrames.cs
- SafeNativeMethods.cs
- XmlSchemaDocumentation.cs
- ListenerAdapterBase.cs
- ActivityAction.cs
- RestClientProxyHandler.cs
- AVElementHelper.cs
- TextBoxBase.cs
- VisualStyleRenderer.cs
- Command.cs
- NativeWindow.cs
- SiteMapNode.cs
- XmlDataImplementation.cs
- SspiSecurityTokenProvider.cs
- MutexSecurity.cs
- CacheHelper.cs
- RightsManagementEncryptedStream.cs
- Signature.cs
- RoutedUICommand.cs
- DataControlButton.cs
- PerfCounterSection.cs
- EncodingInfo.cs
- TypeExtensionConverter.cs
- SecurityPermission.cs
- Image.cs
- Process.cs
- Predicate.cs
- SqlNamer.cs
- TransformedBitmap.cs
- SequentialActivityDesigner.cs
- __FastResourceComparer.cs
- XpsImageSerializationService.cs
- TextDecorationCollection.cs
- DeclarativeConditionsCollection.cs
- InputEventArgs.cs
- WarningException.cs
- XmlDataSource.cs
- PlatformNotSupportedException.cs
- TextPenaltyModule.cs
- DragEvent.cs
- UntrustedRecipientException.cs
- Expression.DebuggerProxy.cs
- User.cs
- IsolatedStorageException.cs
- OdbcConnectionPoolProviderInfo.cs
- CachedFontFamily.cs
- SchemaImporterExtensionElementCollection.cs
- ResXBuildProvider.cs
- Span.cs
- ToolStripPanel.cs
- Comparer.cs
- SystemIPInterfaceProperties.cs
- ManipulationInertiaStartingEventArgs.cs
- HashHelper.cs
- Win32SafeHandles.cs
- OutputScopeManager.cs
- SerializationInfoEnumerator.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- OdbcConnectionFactory.cs
- SqlParameterCollection.cs
- NetworkAddressChange.cs
- CompiledXpathExpr.cs
- NetStream.cs
- BamlLocalizableResourceKey.cs
- ColumnCollection.cs
- DashStyle.cs
- Context.cs
- CommandHelpers.cs
- WindowsNonControl.cs
- ChooseAction.cs
- EpmHelper.cs