Code:
/ 4.0 / 4.0 / 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. 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
- DesignTimeTemplateParser.cs
- RewritingSimplifier.cs
- Processor.cs
- DataSourceControlBuilder.cs
- RemotingServices.cs
- ToolStripSplitButton.cs
- XmlSchemaSimpleTypeList.cs
- ToolBarOverflowPanel.cs
- UrlAuthFailedErrorFormatter.cs
- HelloOperationAsyncResult.cs
- CellRelation.cs
- IsolatedStorageFileStream.cs
- TemplateKeyConverter.cs
- remotingproxy.cs
- Content.cs
- FunctionParameter.cs
- MethodSignatureGenerator.cs
- MemberJoinTreeNode.cs
- WebFaultClientMessageInspector.cs
- JavaScriptObjectDeserializer.cs
- StringComparer.cs
- QueryReaderSettings.cs
- ObjectStorage.cs
- ClientUriBehavior.cs
- OracleParameterBinding.cs
- CapacityStreamGeometryContext.cs
- FileLevelControlBuilderAttribute.cs
- AndMessageFilter.cs
- BooleanProjectedSlot.cs
- SamlAuthorizationDecisionStatement.cs
- SessionPageStateSection.cs
- CompilationUtil.cs
- AssemblySettingAttributes.cs
- RelativeSource.cs
- HttpCacheVaryByContentEncodings.cs
- Command.cs
- Constants.cs
- OrderedHashRepartitionEnumerator.cs
- PrintDocument.cs
- OledbConnectionStringbuilder.cs
- RegionIterator.cs
- DataViewManager.cs
- Hash.cs
- ArgumentsParser.cs
- SchemaImporterExtensionElement.cs
- TransactionProtocol.cs
- ParsedRoute.cs
- FixedSchema.cs
- AQNBuilder.cs
- EncodingNLS.cs
- OdbcConnectionStringbuilder.cs
- StateManagedCollection.cs
- SqlTransaction.cs
- hwndwrapper.cs
- MasterPageCodeDomTreeGenerator.cs
- TemplateComponentConnector.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- SmtpCommands.cs
- URLBuilder.cs
- Bold.cs
- XslAstAnalyzer.cs
- SqlDataSourceCustomCommandPanel.cs
- URL.cs
- WizardForm.cs
- SafeLocalMemHandle.cs
- TypeReference.cs
- Message.cs
- CatalogZone.cs
- UrlMappingsSection.cs
- ReachDocumentPageSerializer.cs
- CodeMethodInvokeExpression.cs
- CompilerInfo.cs
- StateRuntime.cs
- CounterSampleCalculator.cs
- XmlCustomFormatter.cs
- XmlMembersMapping.cs
- FileIOPermission.cs
- AnnotationObservableCollection.cs
- GridViewAutoFormat.cs
- TableItemPattern.cs
- QueryOpcode.cs
- SoundPlayerAction.cs
- Rfc4050KeyFormatter.cs
- SymmetricSecurityProtocol.cs
- HandlerBase.cs
- BufferBuilder.cs
- TransactionsSectionGroup.cs
- StartUpEventArgs.cs
- FocusTracker.cs
- SelectionGlyphBase.cs
- DataPagerFieldItem.cs
- Marshal.cs
- EventLogEntry.cs
- CqlGenerator.cs
- ItemsPanelTemplate.cs
- DataBoundControl.cs
- CaseInsensitiveComparer.cs
- EdgeModeValidation.cs
- PropertyCondition.cs
- GenerateScriptTypeAttribute.cs