Code:
/ 4.0 / 4.0 / 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.
#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
- TypeCollectionDesigner.xaml.cs
- ArgumentDirectionHelper.cs
- DeclarativeCatalogPart.cs
- HitTestWithGeometryDrawingContextWalker.cs
- WebConfigurationManager.cs
- DispatcherProcessingDisabled.cs
- SchemaEntity.cs
- ToolStripStatusLabel.cs
- Overlapped.cs
- OutputCacheProfile.cs
- SiteMapPath.cs
- ReadOnlyCollectionBuilder.cs
- DataGridrowEditEndingEventArgs.cs
- DataGridBoundColumn.cs
- DataGridViewImageColumn.cs
- HtmlElementCollection.cs
- TableRow.cs
- LinqDataSourceContextData.cs
- WindowsIPAddress.cs
- RouteTable.cs
- HttpClientCertificate.cs
- SecurityCriticalDataForSet.cs
- ChtmlPhoneCallAdapter.cs
- TemplateParser.cs
- XmlIlVisitor.cs
- SafeTimerHandle.cs
- ConfigurationLockCollection.cs
- OdbcConnectionStringbuilder.cs
- DataGridCellsPanel.cs
- ApplicationActivator.cs
- GridErrorDlg.cs
- AsymmetricSignatureFormatter.cs
- DataObjectFieldAttribute.cs
- _HTTPDateParse.cs
- SetIterators.cs
- ZipIOExtraFieldZip64Element.cs
- Command.cs
- Point3DConverter.cs
- AbsoluteQuery.cs
- GlyphManager.cs
- DetailsViewInsertedEventArgs.cs
- XslAst.cs
- ComponentEditorPage.cs
- GPRECT.cs
- StringComparer.cs
- StickyNoteContentControl.cs
- InvalidWMPVersionException.cs
- HtmlString.cs
- Brushes.cs
- CommentEmitter.cs
- SqlNodeAnnotation.cs
- Misc.cs
- MetadataArtifactLoaderCompositeResource.cs
- AppDomainProtocolHandler.cs
- InputScope.cs
- GeneralTransformGroup.cs
- QueryComponents.cs
- SemaphoreSecurity.cs
- BaseResourcesBuildProvider.cs
- figurelengthconverter.cs
- DynamicPropertyHolder.cs
- CompositeScriptReference.cs
- COM2Enum.cs
- ScriptResourceHandler.cs
- XmlSchemaComplexType.cs
- EntityDataSource.cs
- BlockUIContainer.cs
- AdapterUtil.cs
- BCLDebug.cs
- Pen.cs
- EventBookmark.cs
- NameTable.cs
- DesignerActionGlyph.cs
- FormsAuthenticationUserCollection.cs
- DbConnectionPoolOptions.cs
- GetCertificateRequest.cs
- SqlError.cs
- GradientStop.cs
- ThemeConfigurationDialog.cs
- OleDbCommand.cs
- SqlDependency.cs
- StyleSheetRefUrlEditor.cs
- DictionaryBase.cs
- DbExpressionBuilder.cs
- SystemFonts.cs
- MSHTMLHost.cs
- DataGridViewSelectedRowCollection.cs
- OletxTransactionFormatter.cs
- WebPartsSection.cs
- sqlstateclientmanager.cs
- ListViewItem.cs
- ImmutablePropertyDescriptorGridEntry.cs
- EFColumnProvider.cs
- EventProvider.cs
- TreeView.cs
- MessageQueueKey.cs
- ConditionCollection.cs
- HtmlEmptyTagControlBuilder.cs
- NegotiateStream.cs
- TextDecoration.cs