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
- FormViewPagerRow.cs
- FileLevelControlBuilderAttribute.cs
- OdbcReferenceCollection.cs
- RegexInterpreter.cs
- EventSourceCreationData.cs
- QilInvokeLateBound.cs
- PagesSection.cs
- OletxTransactionManager.cs
- ToggleProviderWrapper.cs
- SliderAutomationPeer.cs
- WSSecurityPolicy.cs
- CommandValueSerializer.cs
- RouteItem.cs
- SwitchAttribute.cs
- path.cs
- BaseResourcesBuildProvider.cs
- PackWebRequest.cs
- VarRemapper.cs
- HwndSourceParameters.cs
- ClientBuildManagerCallback.cs
- Trustee.cs
- CapiHashAlgorithm.cs
- ReturnEventArgs.cs
- ClientSettingsStore.cs
- Operand.cs
- IgnoreFileBuildProvider.cs
- ScriptingProfileServiceSection.cs
- BindingMemberInfo.cs
- ArgIterator.cs
- AmbientLight.cs
- TargetFrameworkAttribute.cs
- LinearGradientBrush.cs
- Annotation.cs
- FontFamilyValueSerializer.cs
- EntityDataSourceState.cs
- SID.cs
- DescendantOverDescendantQuery.cs
- StreamHelper.cs
- WebRequestModuleElementCollection.cs
- _AcceptOverlappedAsyncResult.cs
- HtmlTableRow.cs
- SHA256Managed.cs
- ParagraphVisual.cs
- OdbcInfoMessageEvent.cs
- EventLogTraceListener.cs
- DataGridViewCellPaintingEventArgs.cs
- FixedSOMTextRun.cs
- ErrorFormatterPage.cs
- SimpleTypeResolver.cs
- SelectionWordBreaker.cs
- NullableLongAverageAggregationOperator.cs
- TypeForwardedToAttribute.cs
- TransformGroup.cs
- LoadItemsEventArgs.cs
- ControlUtil.cs
- GridPattern.cs
- SqlDataSourceSelectingEventArgs.cs
- ReadOnlyNameValueCollection.cs
- BufferModesCollection.cs
- WriterOutput.cs
- StringUtil.cs
- ItemCheckEvent.cs
- DataGridCellsPanel.cs
- WebConfigurationHost.cs
- XmlCharType.cs
- XmlTextReaderImpl.cs
- TableParaClient.cs
- TransformerConfigurationWizardBase.cs
- DataGridViewDesigner.cs
- ToolStripDropDownClosedEventArgs.cs
- VectorCollection.cs
- ListDictionary.cs
- XmlText.cs
- OpCodes.cs
- InstanceDescriptor.cs
- CompiledIdentityConstraint.cs
- LambdaCompiler.Address.cs
- InstanceData.cs
- DBParameter.cs
- ConfigXmlComment.cs
- NativeMethods.cs
- ScriptControlDescriptor.cs
- WmlLiteralTextAdapter.cs
- RuleSettings.cs
- UrlMappingCollection.cs
- DeflateStream.cs
- Misc.cs
- DependsOnAttribute.cs
- SafeRightsManagementSessionHandle.cs
- ToolStripStatusLabel.cs
- GradientStopCollection.cs
- TextDecorationCollection.cs
- ThreadWorkerController.cs
- MDIControlStrip.cs
- UndoManager.cs
- NumericUpDown.cs
- DynamicUpdateCommand.cs
- EncryptedData.cs
- AccessText.cs
- HttpHandlerAction.cs