Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- SymbolType.cs
- BinaryWriter.cs
- TextRangeProviderWrapper.cs
- DataSourceView.cs
- RuntimeHelpers.cs
- FindCriteria11.cs
- SafeEventLogWriteHandle.cs
- FileLogRecord.cs
- X509CertificateCollection.cs
- CollectionAdapters.cs
- FixedBufferAttribute.cs
- RolePrincipal.cs
- BitFlagsGenerator.cs
- ScrollContentPresenter.cs
- CompositeDataBoundControl.cs
- DatePickerTextBox.cs
- SQLMoneyStorage.cs
- TokenBasedSet.cs
- SystemNetHelpers.cs
- StreamInfo.cs
- InvokeMemberBinder.cs
- IList.cs
- RoleManagerEventArgs.cs
- EntityDataSourceConfigureObjectContext.cs
- ListBoxChrome.cs
- SHA1Managed.cs
- IndentedWriter.cs
- WhiteSpaceTrimStringConverter.cs
- CacheSection.cs
- ComponentGuaranteesAttribute.cs
- PolyBezierSegment.cs
- BooleanConverter.cs
- DataGridState.cs
- DispatcherHookEventArgs.cs
- InfiniteIntConverter.cs
- HttpDictionary.cs
- UrlAuthorizationModule.cs
- dataobject.cs
- RegularExpressionValidator.cs
- XsltArgumentList.cs
- SystemException.cs
- ObjectIDGenerator.cs
- DisplayInformation.cs
- ElementNotEnabledException.cs
- GridViewDeleteEventArgs.cs
- RelatedEnd.cs
- Parsers.cs
- CannotUnloadAppDomainException.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- Pen.cs
- AssemblyBuilder.cs
- ToolboxItemAttribute.cs
- XslTransformFileEditor.cs
- XmlFormatExtensionPointAttribute.cs
- SmiConnection.cs
- ObjectQueryProvider.cs
- SmiEventSink.cs
- ListViewItem.cs
- Int16Converter.cs
- PrivateFontCollection.cs
- DbProviderFactoriesConfigurationHandler.cs
- PageThemeBuildProvider.cs
- ComplexLine.cs
- ExtractCollection.cs
- PropertyChangeTracker.cs
- ProfileManager.cs
- ScrollableControl.cs
- HttpModulesSection.cs
- ResourceExpressionEditor.cs
- DBAsyncResult.cs
- CryptoApi.cs
- FieldBuilder.cs
- SqlStatistics.cs
- SpellerError.cs
- NamedPipeDuplicateContext.cs
- ClonableStack.cs
- TemplatedWizardStep.cs
- HostUtils.cs
- CacheModeConverter.cs
- ItemTypeToolStripMenuItem.cs
- BulletedListEventArgs.cs
- PropertyItemInternal.cs
- ToolboxCategory.cs
- ProfileGroupSettingsCollection.cs
- GeneratedView.cs
- Debug.cs
- FormsAuthenticationEventArgs.cs
- NameTable.cs
- SecurityManager.cs
- ReaderContextStackData.cs
- RadioButton.cs
- PanelContainerDesigner.cs
- IdentityNotMappedException.cs
- CodeDomSerializerException.cs
- TextWriterTraceListener.cs
- ObjectDisposedException.cs
- MappingMetadataHelper.cs
- TemplateNameScope.cs
- InstanceStoreQueryResult.cs
- IsolatedStorageException.cs