MenuItemBinding.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / MenuItemBinding.cs / 1 / MenuItemBinding.cs

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

namespace System.Web.UI.WebControls { 
    using System; 
    using System.ComponentModel;
    using System.Drawing.Design; 
    using System.Security.Permissions;
    using System.Web;

 
    /// 
    ///     Provides a data mapping definition for a Menu 
    ///  
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    [DefaultProperty("TextField")] 
    public sealed class MenuItemBinding : IStateManager, ICloneable, IDataSourceViewSchemaAccessor {
        private bool _isTrackingViewState;
        private StateBag _viewState;
 

        ///  
        ///     The data member to use in the mapping 
        /// 
        [ 
        DefaultValue(""),
        WebCategory("Data"),
        WebSysDescription(SR.Binding_DataMember),
        ] 
        public string DataMember {
            get { 
                object s = ViewState["DataMember"]; 
                if (s == null) {
                    return String.Empty; 
                }
                else {
                    return (string)s;
                } 
            }
            set { 
                ViewState["DataMember"] = value; 
            }
        } 


        /// 
        ///     The depth of the level for which this MenuItemBinding is defining a data mapping 
        /// 
        [ 
        DefaultValue(-1), 
        TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, " + AssemblyRef.SystemDesign),
        WebCategory("Data"), 
        WebSysDescription(SR.MenuItemBinding_Depth),
        ]
        public int Depth {
            get { 
                object o = ViewState["Depth"];
                if (o == null) { 
                    return -1; 
                }
                return (int)o; 
            }
            set {
                ViewState["Depth"] = value;
            } 
        }
 
        [DefaultValue(true)] 
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_Enabled)] 
        public bool Enabled {
            get {
                object o = ViewState["Enabled"];
                return (o == null ? true : (bool)o); 
            }
            set { 
                ViewState["Enabled"] = value; 
            }
        } 

        [
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_EnabledField), 
        ] 
        public string EnabledField {
            get { 
                object s = ViewState["EnabledField"];
                return (s == null ? String.Empty : (string)s);
            }
            set { 
                ViewState["EnabledField"] = value;
            } 
        } 

 
        /// 
        ///     Gets and sets the format string used to render the bound data for this node
        /// 
        [DefaultValue("")] 
        [Localizable(true)]
        [WebCategory("Databindings")] 
        [WebSysDescription(SR.MenuItemBinding_FormatString)] 
        public string FormatString {
            get { 
                object s = ViewState["FormatString"];
                if (s == null) {
                    return String.Empty;
                } 
                return (string)s;
            } 
            set { 
                ViewState["FormatString"] = value;
            } 
        }


        ///  
        ///     Gets and sets the image URl to be rendered for this node
        ///  
        [DefaultValue("")] 
        [Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))]
        [UrlProperty()] 
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_ImageUrl)]
        public string ImageUrl {
            get { 
                object s = ViewState["ImageUrl"];
                if (s == null) { 
                    return String.Empty; 
                }
                return (string)s; 
            }
            set {
                ViewState["ImageUrl"] = value;
            } 
        }
 
 
        /// 
        ///     Get and sets the fieldname to use for the ImageUrl property in a MenuItem 
        /// 
        [
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_ImageUrlField), 
        ] 
        public string ImageUrlField {
            get { 
                object s = ViewState["ImageUrlField"];
                if (s == null) {
                    return String.Empty;
                } 
                else {
                    return (string)s; 
                } 
            }
            set { 
                ViewState["ImageUrlField"] = value;
            }
        }
 
        [DefaultValue("")]
        [Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))] 
        [UrlProperty()] 
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_NavigateUrl)] 
        public string NavigateUrl {
            get {
                object s = ViewState["NavigateUrl"];
                if (s == null) { 
                    return String.Empty;
                } 
                return (string)s; 
            }
            set { 
                ViewState["NavigateUrl"] = value;
            }
        }
 
        [
        DefaultValue(""), 
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_NavigateUrlField), 
        ]
        public string NavigateUrlField {
            get {
                object s = ViewState["NavigateUrlField"]; 
                if (s == null) {
                    return String.Empty; 
                } 
                else {
                    return (string)s; 
                }
            }
            set {
                ViewState["NavigateUrlField"] = value; 
            }
        } 
 
        [DefaultValue("")]
        [Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))] 
        [UrlProperty()]
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_PopOutImageUrl)]
        public string PopOutImageUrl { 
            get {
                object s = ViewState["PopOutImageUrl"]; 
                if (s == null) { 
                    return String.Empty;
                } 
                return (string)s;
            }
            set {
                ViewState["PopOutImageUrl"] = value; 
            }
        } 
 
        [
        DefaultValue(""), 
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign),
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_PopOutImageUrlField),
        ] 
        public string PopOutImageUrlField {
            get { 
                object s = ViewState["PopOutImageUrlField"]; 
                if (s == null) {
                    return String.Empty; 
                }
                else {
                    return (string)s;
                } 
            }
            set { 
                ViewState["PopOutImageUrlField"] = value; 
            }
        } 

        [DefaultValue(true)]
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_Selectable)] 
        public bool Selectable {
            get { 
                object o = ViewState["Selectable"]; 
                return (o == null ? true : (bool)o);
            } 
            set {
                ViewState["Selectable"] = value;
            }
        } 

        [ 
        DefaultValue(""), 
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign),
        WebCategory("Databindings"), 
        WebSysDescription(SR.MenuItemBinding_SelectableField),
        ]
        public string SelectableField {
            get { 
                object s = ViewState["SelectableField"];
                return (s == null ? String.Empty : (string)s); 
            } 
            set {
                ViewState["SelectableField"] = value; 
            }
        }

        [DefaultValue("")] 
        [Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))]
        [UrlProperty()] 
        [WebCategory("DefaultProperties")] 
        [WebSysDescription(SR.MenuItemBinding_SeparatorImageUrl)]
        public string SeparatorImageUrl { 
            get {
                object s = ViewState["SeparatorImageUrl"];
                if (s == null) {
                    return String.Empty; 
                }
                return (string)s; 
            } 
            set {
                ViewState["SeparatorImageUrl"] = value; 
            }
        }

        [ 
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"), 
        WebSysDescription(SR.MenuItemBinding_SeparatorImageUrlField),
        ] 
        public string SeparatorImageUrlField {
            get {
                object s = ViewState["SeparatorImageUrlField"];
                if (s == null) { 
                    return String.Empty;
                } 
                else { 
                    return (string)s;
                } 
            }
            set {
                ViewState["SeparatorImageUrlField"] = value;
            } 
        }
 
 
        /// 
        ///     Gets and sets the target window that the MenuItemBinding will browse to if selected 
        /// 
        [DefaultValue("")]
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_Target)] 
        public string Target {
            get { 
                object s = ViewState["Target"]; 
                if (s == null) {
                    return String.Empty; 
                }
                return (string)s;
            }
            set { 
                ViewState["Target"] = value;
            } 
        } 

        [ 
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign),
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_TargetField), 
        ]
        public string TargetField { 
            get { 
                string s = (string)ViewState["TargetField"];
                if (s == null) { 
                    return String.Empty;
                }
                else {
                    return s; 
                }
            } 
            set { 
                ViewState["TargetField"] = value;
            } 
        }


        ///  
        ///     Gets and sets the display text
        ///  
        [DefaultValue("")] 
        [Localizable(true)]
        [WebCategory("DefaultProperties")] 
        [WebSysDescription(SR.MenuItemBinding_Text)]
        public string Text {
            get {
                object s = ViewState["Text"]; 
                if (s == null) {
                    s = ViewState["Value"]; 
                    if (s == null) { 
                        return String.Empty;
                    } 
                }
                return (string)s;
            }
            set { 
                ViewState["Text"] = value;
            } 
        } 

 
        /// 
        ///     Get and sets the fieldname to use for the Text property in a MenuItem
        /// 
        [ 
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"), 
        WebSysDescription(SR.MenuItemBinding_TextField),
        ] 
        public string TextField {
            get {
                object s = ViewState["TextField"];
                if (s == null) { 
                    return String.Empty;
                } 
                return (string)s; 
            }
            set { 
                ViewState["TextField"] = value;
            }
        }
 

        ///  
        ///     Gets and sets the MenuItemBinding tooltip 
        /// 
        [DefaultValue("")] 
        [Localizable(true)]
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_ToolTip)]
        public string ToolTip { 
            get {
                object s = ViewState["ToolTip"]; 
                if (s == null) { 
                    return String.Empty;
                } 
                return (string)s;
            }
            set {
                ViewState["ToolTip"] = value; 
            }
        } 
 

        ///  
        ///     Get and sets the fieldname to use for the ToolTip property in a MenuItem
        /// 
        [
        DefaultValue(""), 
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign),
        WebCategory("Databindings"), 
        WebSysDescription(SR.MenuItemBinding_ToolTipField), 
        ]
        public string ToolTipField { 
            get {
                object s = ViewState["ToolTipField"];
                if (s == null) {
                    return String.Empty; 
                }
                else { 
                    return (string)s; 
                }
            } 
            set {
                ViewState["ToolTipField"] = value;
            }
        } 

 
        ///  
        ///     Gets and sets the value
        ///  
        [DefaultValue("")]
        [Localizable(true)]
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_Value)] 
        public string Value {
            get { 
                object s = ViewState["Value"]; 
                if (s == null) {
                    s = ViewState["Text"]; 
                    if (s == null) {
                        return String.Empty;
                    }
                } 
                return (string)s;
            } 
            set { 
                ViewState["Value"] = value;
            } 
        }


        ///  
        ///     Get and sets the fieldname to use for the Value property in a MenuItem
        ///  
        [ 
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_ValueField),
        ]
        public string ValueField { 
            get {
                object s = ViewState["ValueField"]; 
                if (s == null) { 
                    return String.Empty;
                } 
                return (string)s;
            }
            set {
                ViewState["ValueField"] = value; 
            }
        } 
 

        ///  
        ///     The state for this MenuItemBinding
        /// 
        private StateBag ViewState {
            get { 
                if (_viewState == null) {
                    _viewState = new StateBag(); 
                    if (_isTrackingViewState) { 
                        ((IStateManager)_viewState).TrackViewState();
                    } 
                }
                return _viewState;
            }
        } 

        internal void SetDirty() { 
            ViewState.SetDirty(true); 
        }
 
        public override string ToString() {
            return (String.IsNullOrEmpty(DataMember) ?
                    SR.GetString(SR.TreeNodeBinding_EmptyBindingText) :
                    DataMember); 
        }
 
        #region ICloneable implemention 

        ///  
        /// 
        /// Creates a clone of the MenuItemBinding.
        /// 
        object ICloneable.Clone() { 
            MenuItemBinding clone = new MenuItemBinding();
            clone.DataMember = DataMember; 
            clone.Depth = Depth; 
            clone.Enabled = Enabled;
            clone.EnabledField = EnabledField; 
            clone.FormatString = FormatString;
            clone.ImageUrl = ImageUrl;
            clone.ImageUrlField = ImageUrlField;
            clone.NavigateUrl = NavigateUrl; 
            clone.NavigateUrlField = NavigateUrlField;
            clone.PopOutImageUrl = PopOutImageUrl; 
            clone.PopOutImageUrlField = PopOutImageUrlField; 
            clone.Selectable = Selectable;
            clone.SelectableField = SelectableField; 
            clone.SeparatorImageUrl = SeparatorImageUrl;
            clone.SeparatorImageUrlField = SeparatorImageUrlField;
            clone.Target = Target;
            clone.TargetField = TargetField; 
            clone.Text = Text;
            clone.TextField = TextField; 
            clone.ToolTip = ToolTip; 
            clone.ToolTipField = ToolTipField;
            clone.Value = Value; 
            clone.ValueField = ValueField;

            return clone;
        } 
        #endregion
 
        #region IStateManager implementation 

        ///  
        bool IStateManager.IsTrackingViewState {
            get {
                return _isTrackingViewState;
            } 
        }
 
 
        /// 
        void IStateManager.LoadViewState(object state) { 
            if (state != null) {
                ((IStateManager)ViewState).LoadViewState(state);
            }
        } 

 
        ///  
        object IStateManager.SaveViewState() {
            if (_viewState != null) { 
                return ((IStateManager)_viewState).SaveViewState();
            }

            return null; 
        }
 
 
        /// 
        void IStateManager.TrackViewState() { 
            _isTrackingViewState = true;

            if (_viewState != null) {
                ((IStateManager)_viewState).TrackViewState(); 
            }
        } 
        #endregion 

        #region IDataSourceViewSchemaAccessor implementation 

        /// 
        object IDataSourceViewSchemaAccessor.DataSourceViewSchema {
            get { 
                return ViewState["IDataSourceViewSchemaAccessor.DataSourceViewSchema"];
            } 
            set { 
                ViewState["IDataSourceViewSchemaAccessor.DataSourceViewSchema"] = value;
            } 
        }
        #endregion
    }
} 

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

namespace System.Web.UI.WebControls { 
    using System; 
    using System.ComponentModel;
    using System.Drawing.Design; 
    using System.Security.Permissions;
    using System.Web;

 
    /// 
    ///     Provides a data mapping definition for a Menu 
    ///  
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    [DefaultProperty("TextField")] 
    public sealed class MenuItemBinding : IStateManager, ICloneable, IDataSourceViewSchemaAccessor {
        private bool _isTrackingViewState;
        private StateBag _viewState;
 

        ///  
        ///     The data member to use in the mapping 
        /// 
        [ 
        DefaultValue(""),
        WebCategory("Data"),
        WebSysDescription(SR.Binding_DataMember),
        ] 
        public string DataMember {
            get { 
                object s = ViewState["DataMember"]; 
                if (s == null) {
                    return String.Empty; 
                }
                else {
                    return (string)s;
                } 
            }
            set { 
                ViewState["DataMember"] = value; 
            }
        } 


        /// 
        ///     The depth of the level for which this MenuItemBinding is defining a data mapping 
        /// 
        [ 
        DefaultValue(-1), 
        TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, " + AssemblyRef.SystemDesign),
        WebCategory("Data"), 
        WebSysDescription(SR.MenuItemBinding_Depth),
        ]
        public int Depth {
            get { 
                object o = ViewState["Depth"];
                if (o == null) { 
                    return -1; 
                }
                return (int)o; 
            }
            set {
                ViewState["Depth"] = value;
            } 
        }
 
        [DefaultValue(true)] 
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_Enabled)] 
        public bool Enabled {
            get {
                object o = ViewState["Enabled"];
                return (o == null ? true : (bool)o); 
            }
            set { 
                ViewState["Enabled"] = value; 
            }
        } 

        [
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_EnabledField), 
        ] 
        public string EnabledField {
            get { 
                object s = ViewState["EnabledField"];
                return (s == null ? String.Empty : (string)s);
            }
            set { 
                ViewState["EnabledField"] = value;
            } 
        } 

 
        /// 
        ///     Gets and sets the format string used to render the bound data for this node
        /// 
        [DefaultValue("")] 
        [Localizable(true)]
        [WebCategory("Databindings")] 
        [WebSysDescription(SR.MenuItemBinding_FormatString)] 
        public string FormatString {
            get { 
                object s = ViewState["FormatString"];
                if (s == null) {
                    return String.Empty;
                } 
                return (string)s;
            } 
            set { 
                ViewState["FormatString"] = value;
            } 
        }


        ///  
        ///     Gets and sets the image URl to be rendered for this node
        ///  
        [DefaultValue("")] 
        [Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))]
        [UrlProperty()] 
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_ImageUrl)]
        public string ImageUrl {
            get { 
                object s = ViewState["ImageUrl"];
                if (s == null) { 
                    return String.Empty; 
                }
                return (string)s; 
            }
            set {
                ViewState["ImageUrl"] = value;
            } 
        }
 
 
        /// 
        ///     Get and sets the fieldname to use for the ImageUrl property in a MenuItem 
        /// 
        [
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_ImageUrlField), 
        ] 
        public string ImageUrlField {
            get { 
                object s = ViewState["ImageUrlField"];
                if (s == null) {
                    return String.Empty;
                } 
                else {
                    return (string)s; 
                } 
            }
            set { 
                ViewState["ImageUrlField"] = value;
            }
        }
 
        [DefaultValue("")]
        [Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))] 
        [UrlProperty()] 
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_NavigateUrl)] 
        public string NavigateUrl {
            get {
                object s = ViewState["NavigateUrl"];
                if (s == null) { 
                    return String.Empty;
                } 
                return (string)s; 
            }
            set { 
                ViewState["NavigateUrl"] = value;
            }
        }
 
        [
        DefaultValue(""), 
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_NavigateUrlField), 
        ]
        public string NavigateUrlField {
            get {
                object s = ViewState["NavigateUrlField"]; 
                if (s == null) {
                    return String.Empty; 
                } 
                else {
                    return (string)s; 
                }
            }
            set {
                ViewState["NavigateUrlField"] = value; 
            }
        } 
 
        [DefaultValue("")]
        [Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))] 
        [UrlProperty()]
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_PopOutImageUrl)]
        public string PopOutImageUrl { 
            get {
                object s = ViewState["PopOutImageUrl"]; 
                if (s == null) { 
                    return String.Empty;
                } 
                return (string)s;
            }
            set {
                ViewState["PopOutImageUrl"] = value; 
            }
        } 
 
        [
        DefaultValue(""), 
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign),
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_PopOutImageUrlField),
        ] 
        public string PopOutImageUrlField {
            get { 
                object s = ViewState["PopOutImageUrlField"]; 
                if (s == null) {
                    return String.Empty; 
                }
                else {
                    return (string)s;
                } 
            }
            set { 
                ViewState["PopOutImageUrlField"] = value; 
            }
        } 

        [DefaultValue(true)]
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_Selectable)] 
        public bool Selectable {
            get { 
                object o = ViewState["Selectable"]; 
                return (o == null ? true : (bool)o);
            } 
            set {
                ViewState["Selectable"] = value;
            }
        } 

        [ 
        DefaultValue(""), 
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign),
        WebCategory("Databindings"), 
        WebSysDescription(SR.MenuItemBinding_SelectableField),
        ]
        public string SelectableField {
            get { 
                object s = ViewState["SelectableField"];
                return (s == null ? String.Empty : (string)s); 
            } 
            set {
                ViewState["SelectableField"] = value; 
            }
        }

        [DefaultValue("")] 
        [Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))]
        [UrlProperty()] 
        [WebCategory("DefaultProperties")] 
        [WebSysDescription(SR.MenuItemBinding_SeparatorImageUrl)]
        public string SeparatorImageUrl { 
            get {
                object s = ViewState["SeparatorImageUrl"];
                if (s == null) {
                    return String.Empty; 
                }
                return (string)s; 
            } 
            set {
                ViewState["SeparatorImageUrl"] = value; 
            }
        }

        [ 
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"), 
        WebSysDescription(SR.MenuItemBinding_SeparatorImageUrlField),
        ] 
        public string SeparatorImageUrlField {
            get {
                object s = ViewState["SeparatorImageUrlField"];
                if (s == null) { 
                    return String.Empty;
                } 
                else { 
                    return (string)s;
                } 
            }
            set {
                ViewState["SeparatorImageUrlField"] = value;
            } 
        }
 
 
        /// 
        ///     Gets and sets the target window that the MenuItemBinding will browse to if selected 
        /// 
        [DefaultValue("")]
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_Target)] 
        public string Target {
            get { 
                object s = ViewState["Target"]; 
                if (s == null) {
                    return String.Empty; 
                }
                return (string)s;
            }
            set { 
                ViewState["Target"] = value;
            } 
        } 

        [ 
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign),
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_TargetField), 
        ]
        public string TargetField { 
            get { 
                string s = (string)ViewState["TargetField"];
                if (s == null) { 
                    return String.Empty;
                }
                else {
                    return s; 
                }
            } 
            set { 
                ViewState["TargetField"] = value;
            } 
        }


        ///  
        ///     Gets and sets the display text
        ///  
        [DefaultValue("")] 
        [Localizable(true)]
        [WebCategory("DefaultProperties")] 
        [WebSysDescription(SR.MenuItemBinding_Text)]
        public string Text {
            get {
                object s = ViewState["Text"]; 
                if (s == null) {
                    s = ViewState["Value"]; 
                    if (s == null) { 
                        return String.Empty;
                    } 
                }
                return (string)s;
            }
            set { 
                ViewState["Text"] = value;
            } 
        } 

 
        /// 
        ///     Get and sets the fieldname to use for the Text property in a MenuItem
        /// 
        [ 
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"), 
        WebSysDescription(SR.MenuItemBinding_TextField),
        ] 
        public string TextField {
            get {
                object s = ViewState["TextField"];
                if (s == null) { 
                    return String.Empty;
                } 
                return (string)s; 
            }
            set { 
                ViewState["TextField"] = value;
            }
        }
 

        ///  
        ///     Gets and sets the MenuItemBinding tooltip 
        /// 
        [DefaultValue("")] 
        [Localizable(true)]
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_ToolTip)]
        public string ToolTip { 
            get {
                object s = ViewState["ToolTip"]; 
                if (s == null) { 
                    return String.Empty;
                } 
                return (string)s;
            }
            set {
                ViewState["ToolTip"] = value; 
            }
        } 
 

        ///  
        ///     Get and sets the fieldname to use for the ToolTip property in a MenuItem
        /// 
        [
        DefaultValue(""), 
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign),
        WebCategory("Databindings"), 
        WebSysDescription(SR.MenuItemBinding_ToolTipField), 
        ]
        public string ToolTipField { 
            get {
                object s = ViewState["ToolTipField"];
                if (s == null) {
                    return String.Empty; 
                }
                else { 
                    return (string)s; 
                }
            } 
            set {
                ViewState["ToolTipField"] = value;
            }
        } 

 
        ///  
        ///     Gets and sets the value
        ///  
        [DefaultValue("")]
        [Localizable(true)]
        [WebCategory("DefaultProperties")]
        [WebSysDescription(SR.MenuItemBinding_Value)] 
        public string Value {
            get { 
                object s = ViewState["Value"]; 
                if (s == null) {
                    s = ViewState["Text"]; 
                    if (s == null) {
                        return String.Empty;
                    }
                } 
                return (string)s;
            } 
            set { 
                ViewState["Value"] = value;
            } 
        }


        ///  
        ///     Get and sets the fieldname to use for the Value property in a MenuItem
        ///  
        [ 
        DefaultValue(""),
        TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, " + AssemblyRef.SystemDesign), 
        WebCategory("Databindings"),
        WebSysDescription(SR.MenuItemBinding_ValueField),
        ]
        public string ValueField { 
            get {
                object s = ViewState["ValueField"]; 
                if (s == null) { 
                    return String.Empty;
                } 
                return (string)s;
            }
            set {
                ViewState["ValueField"] = value; 
            }
        } 
 

        ///  
        ///     The state for this MenuItemBinding
        /// 
        private StateBag ViewState {
            get { 
                if (_viewState == null) {
                    _viewState = new StateBag(); 
                    if (_isTrackingViewState) { 
                        ((IStateManager)_viewState).TrackViewState();
                    } 
                }
                return _viewState;
            }
        } 

        internal void SetDirty() { 
            ViewState.SetDirty(true); 
        }
 
        public override string ToString() {
            return (String.IsNullOrEmpty(DataMember) ?
                    SR.GetString(SR.TreeNodeBinding_EmptyBindingText) :
                    DataMember); 
        }
 
        #region ICloneable implemention 

        ///  
        /// 
        /// Creates a clone of the MenuItemBinding.
        /// 
        object ICloneable.Clone() { 
            MenuItemBinding clone = new MenuItemBinding();
            clone.DataMember = DataMember; 
            clone.Depth = Depth; 
            clone.Enabled = Enabled;
            clone.EnabledField = EnabledField; 
            clone.FormatString = FormatString;
            clone.ImageUrl = ImageUrl;
            clone.ImageUrlField = ImageUrlField;
            clone.NavigateUrl = NavigateUrl; 
            clone.NavigateUrlField = NavigateUrlField;
            clone.PopOutImageUrl = PopOutImageUrl; 
            clone.PopOutImageUrlField = PopOutImageUrlField; 
            clone.Selectable = Selectable;
            clone.SelectableField = SelectableField; 
            clone.SeparatorImageUrl = SeparatorImageUrl;
            clone.SeparatorImageUrlField = SeparatorImageUrlField;
            clone.Target = Target;
            clone.TargetField = TargetField; 
            clone.Text = Text;
            clone.TextField = TextField; 
            clone.ToolTip = ToolTip; 
            clone.ToolTipField = ToolTipField;
            clone.Value = Value; 
            clone.ValueField = ValueField;

            return clone;
        } 
        #endregion
 
        #region IStateManager implementation 

        ///  
        bool IStateManager.IsTrackingViewState {
            get {
                return _isTrackingViewState;
            } 
        }
 
 
        /// 
        void IStateManager.LoadViewState(object state) { 
            if (state != null) {
                ((IStateManager)ViewState).LoadViewState(state);
            }
        } 

 
        ///  
        object IStateManager.SaveViewState() {
            if (_viewState != null) { 
                return ((IStateManager)_viewState).SaveViewState();
            }

            return null; 
        }
 
 
        /// 
        void IStateManager.TrackViewState() { 
            _isTrackingViewState = true;

            if (_viewState != null) {
                ((IStateManager)_viewState).TrackViewState(); 
            }
        } 
        #endregion 

        #region IDataSourceViewSchemaAccessor implementation 

        /// 
        object IDataSourceViewSchemaAccessor.DataSourceViewSchema {
            get { 
                return ViewState["IDataSourceViewSchemaAccessor.DataSourceViewSchema"];
            } 
            set { 
                ViewState["IDataSourceViewSchemaAccessor.DataSourceViewSchema"] = value;
            } 
        }
        #endregion
    }
} 

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