Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / UI / WebControls / Expressions / DataSourceExpression.cs / 1305376 / DataSourceExpression.cs
#if ORYX_VNEXT namespace Microsoft.Web.Data.UI.WebControls.Expressions { #else namespace System.Web.UI.WebControls.Expressions { #endif using System; using System.ComponentModel; using System.Linq; using System.Linq.Expressions; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public abstract class DataSourceExpression : IStateManager { private bool _tracking; private StateBag _viewState; protected HttpContext Context { get; private set; } protected Control Owner { get; private set; } public IQueryableDataSource DataSource { get; // Internal set for unit testing internal set; } protected bool IsTrackingViewState { get { return _tracking; } } [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), ] protected StateBag ViewState { get { if (_viewState == null) { _viewState = new StateBag(); if (_tracking) ((IStateManager)_viewState).TrackViewState(); } return _viewState; } } protected DataSourceExpression() { } // internal for unit testing internal DataSourceExpression(Control owner) { Owner = owner; } public void SetDirty() { ViewState.SetDirty(true); } protected virtual void LoadViewState(object savedState) { if (savedState != null) { ((IStateManager)ViewState).LoadViewState(savedState); } } protected virtual object SaveViewState() { return (_viewState != null) ? ((IStateManager)_viewState).SaveViewState() : null; } protected virtual void TrackViewState() { _tracking = true; if (_viewState != null) { ((IStateManager)_viewState).TrackViewState(); } } public abstract IQueryable GetQueryable(IQueryable source); public virtual void SetContext(Control owner, HttpContext context, IQueryableDataSource dataSource) { if (owner == null) { throw new ArgumentNullException("owner"); } if (context == null) { throw new ArgumentNullException("context"); } if (dataSource == null) { throw new ArgumentNullException("dataSource"); } Owner = owner; Context = context; DataSource = dataSource; } #region IStateManager Members bool IStateManager.IsTrackingViewState { get { return IsTrackingViewState; } } void IStateManager.LoadViewState(object state) { LoadViewState(state); } object IStateManager.SaveViewState() { return SaveViewState(); } void IStateManager.TrackViewState() { TrackViewState(); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DetailsView.cs
- TrackingMemoryStream.cs
- StaticExtension.cs
- XmlReflectionMember.cs
- HierarchicalDataTemplate.cs
- AlgoModule.cs
- MemoryFailPoint.cs
- CodeStatement.cs
- ExpressionPrefixAttribute.cs
- GenericIdentity.cs
- PageEventArgs.cs
- XmlTextReaderImplHelpers.cs
- EntityDataSourceContainerNameConverter.cs
- DebugInfoExpression.cs
- XmlSchemaAll.cs
- RemotingException.cs
- MimeImporter.cs
- MenuRendererStandards.cs
- Interop.cs
- EmbeddedMailObject.cs
- BamlCollectionHolder.cs
- userdatakeys.cs
- SessionStateSection.cs
- DataGridViewTextBoxCell.cs
- TextServicesManager.cs
- ProviderBase.cs
- ClientTargetSection.cs
- HijriCalendar.cs
- ObservableCollection.cs
- BinarySerializer.cs
- TypeConverterAttribute.cs
- FilteredAttributeCollection.cs
- OracleConnectionStringBuilder.cs
- SystemParameters.cs
- IConvertible.cs
- PreDigestedSignedInfo.cs
- EventProviderClassic.cs
- HandlerBase.cs
- ReferenceEqualityComparer.cs
- MultiView.cs
- LightweightCodeGenerator.cs
- Documentation.cs
- LogicalTreeHelper.cs
- ClientUrlResolverWrapper.cs
- ContextProperty.cs
- AssemblyBuilderData.cs
- WaitForChangedResult.cs
- XmlSiteMapProvider.cs
- TrustSection.cs
- Classification.cs
- AssertFilter.cs
- ControlAdapter.cs
- XmlSchemaObjectCollection.cs
- FlowDocumentReaderAutomationPeer.cs
- WindowsSolidBrush.cs
- Int32Storage.cs
- LocalizedNameDescriptionPair.cs
- Polygon.cs
- ConsoleKeyInfo.cs
- EmptyEnumerator.cs
- CanonicalizationDriver.cs
- SamlNameIdentifierClaimResource.cs
- AnnotationComponentChooser.cs
- CodeSubDirectoriesCollection.cs
- AuthenticationException.cs
- DesignerVerbCollection.cs
- CapiSymmetricAlgorithm.cs
- HttpListenerPrefixCollection.cs
- WebPartManagerInternals.cs
- Tile.cs
- ProcessHost.cs
- NonVisualControlAttribute.cs
- ValueSerializer.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- EventLogPermissionAttribute.cs
- DeclarativeCatalogPart.cs
- TextParaClient.cs
- ExceptionRoutedEventArgs.cs
- ISCIIEncoding.cs
- MarkedHighlightComponent.cs
- DispatcherEventArgs.cs
- CompilationSection.cs
- CodeTypeReference.cs
- ClientRuntimeConfig.cs
- XmlTypeAttribute.cs
- Point3DValueSerializer.cs
- DataRecord.cs
- Matrix.cs
- ClientSettingsSection.cs
- OutputCacheModule.cs
- ScopelessEnumAttribute.cs
- SizeLimitedCache.cs
- NonClientArea.cs
- SettingsPropertyIsReadOnlyException.cs
- DataExpression.cs
- CollectionTypeElement.cs
- ServiceModelExtensionCollectionElement.cs
- CommandSet.cs
- WrappedKeySecurityToken.cs
- ImageSourceConverter.cs