DynamicQueryStringParameter.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / DynamicData / DynamicData / DynamicQueryStringParameter.cs / 1305376 / DynamicQueryStringParameter.cs

                            using System.Collections.Generic; 
using System.Globalization;
using System.Web.DynamicData.Util;
using System.Web.Resources;
using System.Web.UI; 
using System.Web.UI.WebControls;
 
namespace System.Web.DynamicData { 

    ///  
    /// DynamicQueryStringParameter allows a datasource to have its primary key easily fed from the query string.
    /// It does not require any attributes, and works even for multi-part primary keys.
    /// 
    public class DynamicQueryStringParameter : Parameter, IWhereParametersProvider { 
        /// 
        /// See IWhereParametersProvider.GetWhereParameters 
        ///  
        public virtual IEnumerable GetWhereParameters(IDynamicDataSource dataSource) {
            var table = MetaTableHelper.GetTableWithFullFallback(dataSource, HttpContext.Current.ToWrapper()); 

            // check makes no sense as the above call will throw
            //if (table == null) {
            //    return new Parameter[0]; 
            //}
 
            return RouteParametersHelper.GetColumnParameters(table, Name); 
        }
 
        /// 
        /// same as base
        /// 
        ///  
        /// 
        ///  
        protected override object Evaluate(HttpContext context, Control control) { 
            // If this gets called, it means we never had a chance to expand the parameter. Give an error
            // telling the user to use a DynamicDataManager 
            throw new InvalidOperationException(String.Format(
                CultureInfo.CurrentCulture, DynamicDataResources.DynamicParameter_NeedExpansion, typeof(DynamicQueryStringParameter).Name));
        }
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK