SiteMapDesignerDataSourceView.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / WebControls / SiteMapDesignerDataSourceView.cs / 1 / SiteMapDesignerDataSourceView.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.Web.UI.Design.WebControls { 
 
    using System;
    using System.Collections; 
    using System.Data;
    using System.Web.UI.WebControls;

    ///  
    /// SiteMapDesignerDataSourceView is the designer view associated with a SiteMapDataSourceDesigner.
    ///  
    [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags = System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)] 
    public class SiteMapDesignerDataSourceView : DesignerDataSourceView {
 
        private static readonly SiteMapDataSourceDesigner.SiteMapDataSourceViewSchema _siteMapViewSchema = new SiteMapDataSourceDesigner.SiteMapDataSourceViewSchema();

        private SiteMapDataSourceDesigner _owner;
        private SiteMapDataSource _siteMapDataSource; 

        public SiteMapDesignerDataSourceView(SiteMapDataSourceDesigner owner, string viewName) : base(owner, viewName) { 
            _owner = owner; 
            _siteMapDataSource = (SiteMapDataSource)_owner.Component;
        } 


        public override IDataSourceViewSchema Schema {
            get { 
                return _siteMapViewSchema;
            } 
        } 

        public override IEnumerable GetDesignTimeData(int minimumRows, out bool isSampleData) { 
            string oldProvider = null;
            string oldStartingNodeUrl = null;

            SiteMapNodeCollection data = null; 

            oldProvider = _siteMapDataSource.SiteMapProvider; 
            oldStartingNodeUrl = _siteMapDataSource.StartingNodeUrl; 

            _siteMapDataSource.Provider = _owner.DesignTimeSiteMapProvider; 

            try {
                _siteMapDataSource.StartingNodeUrl = null;
                data = ((SiteMapDataSourceView)((IDataSource)_siteMapDataSource).GetView(Name)).Select(DataSourceSelectArguments.Empty) as SiteMapNodeCollection; 
                isSampleData = false;
            } 
            finally { 
                _siteMapDataSource.StartingNodeUrl = oldStartingNodeUrl;
                _siteMapDataSource.SiteMapProvider = oldProvider; 
            }

            if ((data != null) && (data.Count == 0)) {
                // No design time data could be retrieved, show dummy data 
                isSampleData = true;
                return DesignTimeData.GetDesignTimeDataSource(DesignTimeData.CreateDummyDataBoundDataTable(), minimumRows); 
            } 
            return data;
        } 
    }
}


// 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