Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / DynamicData / DynamicData / DynamicRouteExpression.cs / 1305376 / DynamicRouteExpression.cs
using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Web.DynamicData.Util; using System.Web.UI; using System.Web.UI.WebControls; using System.Diagnostics; #if ORYX_VNEXT using Microsoft.Web.Data.UI.WebControls.Expressions; using Microsoft.Web.Data.UI.WebControls; #else using System.Web.UI.WebControls.Expressions; #endif namespace System.Web.DynamicData { ////// This class is an QueryExtender-based equivalent of DynamicQueryStringParameters. /// When applied to a data source it will filter the data by the value of a primary key encoded /// in the requests query string (or potentially routing if complex routes are used). If ColumnName /// is specified it will retrieve the values /// public class DynamicRouteExpression : DataSourceExpression { private PropertyExpression _expression = new PropertyExpression(); ////// An optional column name that can be used to change the filtering mode (i.e. filter by foreign key instead /// of primary key). /// [DefaultValue("")] public string ColumnName { get; set; } ////// See base class. /// public override void SetContext(Control owner, HttpContext context, IQueryableDataSource dataSource) { base.SetContext(owner, context, dataSource); owner.Page.InitComplete += new EventHandler(Page_InitComplete); } void Page_InitComplete(object sender, EventArgs e) { Debug.Assert(DataSource != null); var table = DataSource.GetMetaTable(); IEnumerableparameters = RouteParametersHelper.GetColumnParameters(table, ColumnName); parameters.ToList().ForEach(p => _expression.Parameters.Add(p)); } /// /// See base class. /// public override IQueryable GetQueryable(IQueryable source) { return _expression.GetQueryable(source); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Web.DynamicData.Util; using System.Web.UI; using System.Web.UI.WebControls; using System.Diagnostics; #if ORYX_VNEXT using Microsoft.Web.Data.UI.WebControls.Expressions; using Microsoft.Web.Data.UI.WebControls; #else using System.Web.UI.WebControls.Expressions; #endif namespace System.Web.DynamicData { ////// This class is an QueryExtender-based equivalent of DynamicQueryStringParameters. /// When applied to a data source it will filter the data by the value of a primary key encoded /// in the requests query string (or potentially routing if complex routes are used). If ColumnName /// is specified it will retrieve the values /// public class DynamicRouteExpression : DataSourceExpression { private PropertyExpression _expression = new PropertyExpression(); ////// An optional column name that can be used to change the filtering mode (i.e. filter by foreign key instead /// of primary key). /// [DefaultValue("")] public string ColumnName { get; set; } ////// See base class. /// public override void SetContext(Control owner, HttpContext context, IQueryableDataSource dataSource) { base.SetContext(owner, context, dataSource); owner.Page.InitComplete += new EventHandler(Page_InitComplete); } void Page_InitComplete(object sender, EventArgs e) { Debug.Assert(DataSource != null); var table = DataSource.GetMetaTable(); IEnumerableparameters = RouteParametersHelper.GetColumnParameters(table, ColumnName); parameters.ToList().ForEach(p => _expression.Parameters.Add(p)); } /// /// See base class. /// public override IQueryable GetQueryable(IQueryable source) { return _expression.GetQueryable(source); } } } // 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
- UIPropertyMetadata.cs
- DataBinding.cs
- CheckBoxList.cs
- BooleanConverter.cs
- OpenFileDialog.cs
- WebBrowserNavigatedEventHandler.cs
- ProfileGroupSettings.cs
- XmlWellformedWriterHelpers.cs
- Label.cs
- SizeAnimationUsingKeyFrames.cs
- XmlSchemaCompilationSettings.cs
- KnownTypes.cs
- BackStopAuthenticationModule.cs
- SecurityElement.cs
- RuleProcessor.cs
- OutputCache.cs
- ReadOnlyCollection.cs
- PerfCounters.cs
- NameService.cs
- HttpFileCollection.cs
- CopyOnWriteList.cs
- CustomValidator.cs
- CodeObjectCreateExpression.cs
- MultiAsyncResult.cs
- ECDiffieHellmanCng.cs
- Membership.cs
- WindowsAuthenticationEventArgs.cs
- AdapterDictionary.cs
- XmlNode.cs
- DataGridViewCheckBoxColumn.cs
- ResizeGrip.cs
- SelectionRangeConverter.cs
- ProfilePropertyNameValidator.cs
- DescendantQuery.cs
- XmlChoiceIdentifierAttribute.cs
- DataSourceIDConverter.cs
- PartialList.cs
- TransactionCache.cs
- _TLSstream.cs
- HtmlControlPersistable.cs
- OleDbEnumerator.cs
- XsltLoader.cs
- XmlAtomicValue.cs
- ACE.cs
- PropertyGridEditorPart.cs
- OutOfProcStateClientManager.cs
- KeysConverter.cs
- Validator.cs
- TypeReference.cs
- TreeViewImageKeyConverter.cs
- PropertyItem.cs
- BrowserCapabilitiesCodeGenerator.cs
- SystemNetworkInterface.cs
- SQLDecimalStorage.cs
- Attributes.cs
- DiffuseMaterial.cs
- ListParagraph.cs
- SqlCacheDependencyDatabase.cs
- NameSpaceEvent.cs
- Keywords.cs
- HttpApplication.cs
- XamlRtfConverter.cs
- CreateUserWizard.cs
- DataBoundControlAdapter.cs
- HttpWebRequestElement.cs
- EditorPartCollection.cs
- SessionEndingCancelEventArgs.cs
- ModelUIElement3D.cs
- DataTableCollection.cs
- DecoderReplacementFallback.cs
- DecoderNLS.cs
- ActivityWithResult.cs
- CacheChildrenQuery.cs
- PageBreakRecord.cs
- CustomAttribute.cs
- GPPOINTF.cs
- PrePrepareMethodAttribute.cs
- SponsorHelper.cs
- CatalogZoneBase.cs
- WindowsStatic.cs
- ExtensionElement.cs
- TreeViewAutomationPeer.cs
- MeasureItemEvent.cs
- XamlRtfConverter.cs
- EndpointNotFoundException.cs
- WorkflowServiceHost.cs
- PeerObject.cs
- Types.cs
- ImageMapEventArgs.cs
- StylusButtonEventArgs.cs
- RegexRunner.cs
- CryptoApi.cs
- DbMetaDataCollectionNames.cs
- ExpressionEditorAttribute.cs
- ArithmeticException.cs
- ListViewDeleteEventArgs.cs
- RuleSettingsCollection.cs
- TextAction.cs
- Executor.cs
- ResumeStoryboard.cs