Code:
/ 4.0 / 4.0 / untmp / 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();
IEnumerable parameters = 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
- TextServicesContext.cs
- LocatorGroup.cs
- IndexerNameAttribute.cs
- SignatureHelper.cs
- IPGlobalProperties.cs
- RegexMatchCollection.cs
- GetPageCompletedEventArgs.cs
- Geometry.cs
- ManifestSignedXml.cs
- RoleManagerModule.cs
- EntityClassGenerator.cs
- DriveInfo.cs
- InvalidAsynchronousStateException.cs
- DayRenderEvent.cs
- Content.cs
- SafeFindHandle.cs
- StylusEditingBehavior.cs
- DataGridViewTopLeftHeaderCell.cs
- DataStorage.cs
- CompositeFontParser.cs
- XmlSchemaElement.cs
- ExecutionPropertyManager.cs
- DeadLetterQueue.cs
- DataServiceQueryProvider.cs
- RenderTargetBitmap.cs
- KnownTypes.cs
- InteropExecutor.cs
- SimpleWebHandlerParser.cs
- Axis.cs
- RSAOAEPKeyExchangeDeformatter.cs
- StringSorter.cs
- ScrollProperties.cs
- FieldAccessException.cs
- UiaCoreApi.cs
- HtmlInputImage.cs
- TagPrefixAttribute.cs
- CommonXSendMessage.cs
- HttpCacheVary.cs
- XmlDataSourceView.cs
- OdbcErrorCollection.cs
- TextSelection.cs
- MultipartContentParser.cs
- diagnosticsswitches.cs
- ModuleBuilder.cs
- StringComparer.cs
- SID.cs
- WhitespaceRule.cs
- ProxyWebPartManager.cs
- DataGridrowEditEndingEventArgs.cs
- ImageAnimator.cs
- Matrix3DValueSerializer.cs
- ListDictionaryInternal.cs
- EventSourceCreationData.cs
- ISSmlParser.cs
- TextTreeInsertUndoUnit.cs
- PermissionSetTriple.cs
- ElementProxy.cs
- BezierSegment.cs
- basemetadatamappingvisitor.cs
- Pts.cs
- ReverseInheritProperty.cs
- XmlSchemaComplexContent.cs
- QilLiteral.cs
- TextOutput.cs
- IPAddressCollection.cs
- HttpDictionary.cs
- DemultiplexingClientMessageFormatter.cs
- VersionPair.cs
- Pair.cs
- SrgsSubset.cs
- HostedNamedPipeTransportManager.cs
- DeleteHelper.cs
- ReadonlyMessageFilter.cs
- DataBindingHandlerAttribute.cs
- Track.cs
- OleDbSchemaGuid.cs
- RuntimeIdentifierPropertyAttribute.cs
- MulticastIPAddressInformationCollection.cs
- NameValueFileSectionHandler.cs
- SettingsContext.cs
- RoleService.cs
- Interfaces.cs
- DataGridRow.cs
- ToolBarTray.cs
- SyndicationSerializer.cs
- StrokeDescriptor.cs
- AddressHeader.cs
- DebuggerService.cs
- TabControl.cs
- ActivityBindForm.cs
- DocumentXmlWriter.cs
- Resources.Designer.cs
- ArglessEventHandlerProxy.cs
- HierarchicalDataSourceControl.cs
- SqlDataSourceConfigureSelectPanel.cs
- SafeLocalMemHandle.cs
- OracleLob.cs
- StateManagedCollection.cs
- MemberCollection.cs
- StatusBar.cs