Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / DynamicData / DynamicData / DynamicFilterExpression.cs / 1305376 / DynamicFilterExpression.cs
using System.Linq.Expressions;
using System.Web.UI;
using System.Globalization;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
#if ORYX_VNEXT
using Microsoft.Web.Data.UI.WebControls.Expressions;
using Microsoft.Web.Data.UI.WebControls;
#else
using System.Web.UI.WebControls.Expressions;
using System.Web.UI.WebControls;
#endif
namespace System.Web.DynamicData {
///
/// This is a Dynamic Data-specific extension of DataSourceExpression that works by forwarding the processing of an IQueryable to
/// a specialized control such as QueryableFilterRepeater or DynamicFilter.
///
public class DynamicFilterExpression : DataSourceExpression {
///
/// References the ID of a QueryableFilterRepeater or DynamicFilter control on the page.
///
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "ID", Justification = "This refers to a Control ID")]
public string ControlID { get; set; }
private IFilterExpressionProvider FilterExpressionProvider { get; set; }
public override void SetContext(Control owner, HttpContext context, IQueryableDataSource dataSource) {
base.SetContext(owner, context, dataSource);
FilterExpressionProvider = FindControl(Owner);
FilterExpressionProvider.Initialize(dataSource);
}
private IFilterExpressionProvider FindControl(Control control) {
var result = Misc.FindControl(control, ControlID) as IFilterExpressionProvider;
if (result == null) {
throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, "The control '{0}' could not be found.", ControlID));
}
return result;
}
///
/// Delegates the processing of the source queryable to the control referenced by ControlID.
///
///
///
public override IQueryable GetQueryable(IQueryable source) {
IQueryable result = FilterExpressionProvider.GetQueryable(source);
return result;
}
}
}
// 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
- XamlBrushSerializer.cs
- TileBrush.cs
- HttpListener.cs
- TextRunTypographyProperties.cs
- AppModelKnownContentFactory.cs
- Size.cs
- METAHEADER.cs
- WindowsFormsHostPropertyMap.cs
- ValueUtilsSmi.cs
- SqlConnectionString.cs
- PeerNameRecord.cs
- RowParagraph.cs
- ControlHelper.cs
- DataGridTextBox.cs
- StringFunctions.cs
- UserControlDocumentDesigner.cs
- DropDownButton.cs
- LoadRetryStrategyFactory.cs
- ListViewGroup.cs
- TrackingServices.cs
- Pointer.cs
- GridToolTip.cs
- ExceptionRoutedEventArgs.cs
- ValidateNames.cs
- LinkDesigner.cs
- DynamicQueryableWrapper.cs
- XmlSchemaValidator.cs
- InfoCardCryptoHelper.cs
- SspiNegotiationTokenAuthenticatorState.cs
- PersonalizationState.cs
- SqlColumnizer.cs
- SystemDiagnosticsSection.cs
- TreeNode.cs
- ErrorWrapper.cs
- HttpListenerResponse.cs
- SqlError.cs
- DateTimeValueSerializerContext.cs
- PropertyInformation.cs
- MailDefinition.cs
- TextDecoration.cs
- OleDbPermission.cs
- clipboard.cs
- RenderData.cs
- ActivityContext.cs
- Dispatcher.cs
- CapabilitiesState.cs
- CodeConditionStatement.cs
- BitArray.cs
- ComplexTypeEmitter.cs
- ProcessModelSection.cs
- InlineUIContainer.cs
- WebBrowserNavigatedEventHandler.cs
- ScriptComponentDescriptor.cs
- GridViewColumnCollectionChangedEventArgs.cs
- PropertyMapper.cs
- SmiConnection.cs
- DesignTimeParseData.cs
- QilUnary.cs
- ColorInterpolationModeValidation.cs
- ErrorStyle.cs
- DrawingGroup.cs
- FontStretchConverter.cs
- SizeAnimationUsingKeyFrames.cs
- DataGridRowHeaderAutomationPeer.cs
- CodeFieldReferenceExpression.cs
- HtmlDocument.cs
- StdValidatorsAndConverters.cs
- Random.cs
- OleDbException.cs
- SQLInt64Storage.cs
- PackageRelationshipCollection.cs
- BinaryParser.cs
- WebPartVerb.cs
- CodeIterationStatement.cs
- InputManager.cs
- ReachPageContentSerializerAsync.cs
- IsolatedStorageFilePermission.cs
- EntityDescriptor.cs
- SafeNativeMethods.cs
- CommonDialog.cs
- HiddenFieldPageStatePersister.cs
- StorageComplexTypeMapping.cs
- DataGridViewLayoutData.cs
- SizeLimitedCache.cs
- Rect3DValueSerializer.cs
- RotateTransform3D.cs
- QilStrConcatenator.cs
- CodeTypeReference.cs
- VBCodeProvider.cs
- ProxyAttribute.cs
- TableLayoutPanelResizeGlyph.cs
- Journaling.cs
- FaultImportOptions.cs
- StickyNoteContentControl.cs
- AssociationSet.cs
- Point3DCollection.cs
- DynamicPropertyHolder.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- ContextQuery.cs
- RuntimeHandles.cs