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
- XPathScanner.cs
- util.cs
- ElementUtil.cs
- IxmlLineInfo.cs
- XmlJsonReader.cs
- HtmlLiteralTextAdapter.cs
- SQLBytes.cs
- Ops.cs
- SectionInput.cs
- basemetadatamappingvisitor.cs
- InputLangChangeEvent.cs
- xmlsaver.cs
- ShaperBuffers.cs
- ObjectCache.cs
- Attributes.cs
- FixedElement.cs
- EditorPartDesigner.cs
- StringExpressionSet.cs
- __FastResourceComparer.cs
- RawStylusInput.cs
- PieceNameHelper.cs
- PropertyBuilder.cs
- ObjectPersistData.cs
- ApplicationId.cs
- DateTimeFormatInfoScanner.cs
- DateTimeUtil.cs
- OleStrCAMarshaler.cs
- RuleInfoComparer.cs
- RegisterInfo.cs
- TypeConverterValueSerializer.cs
- TransformValueSerializer.cs
- ConfigXmlReader.cs
- LocalsItemDescription.cs
- CalloutQueueItem.cs
- ToolStripItemTextRenderEventArgs.cs
- LocalBuilder.cs
- objectquery_tresulttype.cs
- NameTable.cs
- RawStylusActions.cs
- TreeNodeClickEventArgs.cs
- InputBindingCollection.cs
- _ProxyChain.cs
- BaseParagraph.cs
- CheckableControlBaseAdapter.cs
- PersistenceTypeAttribute.cs
- NotImplementedException.cs
- RelationshipType.cs
- Util.cs
- UInt64.cs
- PenLineCapValidation.cs
- ValidatorAttribute.cs
- OptimalTextSource.cs
- ProgressPage.cs
- HashCodeCombiner.cs
- TimeoutHelper.cs
- PiiTraceSource.cs
- PipeStream.cs
- ExpandCollapsePattern.cs
- PowerStatus.cs
- SQLResource.cs
- EventMap.cs
- ReferencedType.cs
- RedistVersionInfo.cs
- HtmlShimManager.cs
- IItemContainerGenerator.cs
- Menu.cs
- PaperSource.cs
- MetadataStore.cs
- QuadraticBezierSegment.cs
- Separator.cs
- KerberosSecurityTokenAuthenticator.cs
- XmlChoiceIdentifierAttribute.cs
- OrderablePartitioner.cs
- BigIntegerStorage.cs
- SystemException.cs
- DataGridRowHeaderAutomationPeer.cs
- SignerInfo.cs
- UnmanagedMarshal.cs
- CodeExpressionStatement.cs
- FormViewRow.cs
- AttributeProviderAttribute.cs
- CellParagraph.cs
- SessionParameter.cs
- Expression.cs
- HelpEvent.cs
- DynamicILGenerator.cs
- GuidelineCollection.cs
- ValidationHelpers.cs
- RoleService.cs
- SQLBinaryStorage.cs
- TreeViewEvent.cs
- ErrorInfoXmlDocument.cs
- HtmlTableCellCollection.cs
- LockCookie.cs
- XsltContext.cs
- ConfigurationManagerInternal.cs
- ActiveXHelper.cs
- ExceptionNotification.cs
- DialogResultConverter.cs
- ObjectListCommand.cs