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
- MasterPageParser.cs
- PerspectiveCamera.cs
- ObjectHelper.cs
- ChannelSettingsElement.cs
- SQLBytesStorage.cs
- WorkflowMarkupSerializationException.cs
- ScriptRegistrationManager.cs
- MSAANativeProvider.cs
- RewritingPass.cs
- WorkflowTimerService.cs
- TargetInvocationException.cs
- DesignObjectWrapper.cs
- UIElement3DAutomationPeer.cs
- FontUnit.cs
- LookupTables.cs
- Pen.cs
- TextSpan.cs
- HttpRuntime.cs
- LinkButton.cs
- EventSinkHelperWriter.cs
- GridItemProviderWrapper.cs
- BinaryExpression.cs
- SmiRecordBuffer.cs
- BooleanAnimationUsingKeyFrames.cs
- ProcessHostConfigUtils.cs
- EntityTransaction.cs
- CurrentChangedEventManager.cs
- OdbcConnectionStringbuilder.cs
- SqlProviderServices.cs
- updateconfighost.cs
- PerformanceCounterLib.cs
- PolicyChain.cs
- SystemThemeKey.cs
- XmlSchemaObjectCollection.cs
- GlyphingCache.cs
- SafePEFileHandle.cs
- UIPermission.cs
- CriticalHandle.cs
- StringCollectionMarkupSerializer.cs
- ParallelDesigner.cs
- TcpPortSharing.cs
- PolicyAssertionCollection.cs
- XamlStyleSerializer.cs
- ListBox.cs
- ResourceProviderFactory.cs
- WinCategoryAttribute.cs
- TextBoxView.cs
- WebBrowserNavigatedEventHandler.cs
- UInt32Converter.cs
- ErrorFormatterPage.cs
- XmlEncoding.cs
- MasterPageCodeDomTreeGenerator.cs
- SmtpCommands.cs
- ParentQuery.cs
- HTTPNotFoundHandler.cs
- OleDragDropHandler.cs
- RefreshEventArgs.cs
- WebPartConnectionsEventArgs.cs
- UnhandledExceptionEventArgs.cs
- StateBag.cs
- DbProviderFactoriesConfigurationHandler.cs
- Base64WriteStateInfo.cs
- DesignerHelpers.cs
- RSAPKCS1KeyExchangeFormatter.cs
- WebPartZone.cs
- FullTextState.cs
- ObjectDataSourceDisposingEventArgs.cs
- DynamicArgumentDialog.cs
- EntityContainerRelationshipSet.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- ProofTokenCryptoHandle.cs
- MenuItem.cs
- DataRowCollection.cs
- SurrogateSelector.cs
- DrawingCollection.cs
- ExpressionCopier.cs
- OdbcInfoMessageEvent.cs
- ConstraintManager.cs
- AnonymousIdentificationSection.cs
- ValuePattern.cs
- SmtpClient.cs
- PolyLineSegment.cs
- Win32Exception.cs
- AnnotationHelper.cs
- TabControlCancelEvent.cs
- TypeGeneratedEventArgs.cs
- HttpListenerResponse.cs
- ZipIOModeEnforcingStream.cs
- TemplateManager.cs
- ElementHostAutomationPeer.cs
- Transactions.cs
- Pkcs7Signer.cs
- SmtpLoginAuthenticationModule.cs
- ControlParser.cs
- CFStream.cs
- StatusBarItem.cs
- StringSource.cs
- MultiDataTrigger.cs
- SpeechUI.cs
- Underline.cs