Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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 } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ShowExpandedMultiValueConverter.cs
- SafeCertificateStore.cs
- Expressions.cs
- Graphics.cs
- Processor.cs
- AxisAngleRotation3D.cs
- SoapAttributeAttribute.cs
- DataGridViewRowConverter.cs
- CommentEmitter.cs
- ISCIIEncoding.cs
- ActivityExecutorDelegateInfo.cs
- CodeConditionStatement.cs
- ErrorRuntimeConfig.cs
- TrackBarRenderer.cs
- XmlReflectionImporter.cs
- DataSpaceManager.cs
- Propagator.cs
- PieceNameHelper.cs
- ThousandthOfEmRealPoints.cs
- KeyTime.cs
- XmlDataSourceNodeDescriptor.cs
- SurrogateEncoder.cs
- ISFTagAndGuidCache.cs
- Substitution.cs
- TextParagraph.cs
- DiagnosticTraceSource.cs
- FlowDocument.cs
- DocumentStream.cs
- FixedTextView.cs
- HttpBrowserCapabilitiesWrapper.cs
- BmpBitmapDecoder.cs
- RtfFormatStack.cs
- TextAdaptor.cs
- WindowsPrincipal.cs
- DataSvcMapFileSerializer.cs
- NodeInfo.cs
- CrossContextChannel.cs
- Int16Animation.cs
- DataBinder.cs
- FilterEventArgs.cs
- CertificateManager.cs
- CheckBoxList.cs
- BitmapEncoder.cs
- ConnectionStringSettings.cs
- SQLInt64Storage.cs
- TypeReference.cs
- WebPartZoneCollection.cs
- XPathDocumentIterator.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- SafeNativeMethods.cs
- ManagementNamedValueCollection.cs
- SimpleWorkerRequest.cs
- BehaviorEditorPart.cs
- DBSchemaTable.cs
- DataSourceControlBuilder.cs
- WeakHashtable.cs
- DataObjectAttribute.cs
- AddingNewEventArgs.cs
- ColumnMapCopier.cs
- XMLSyntaxException.cs
- CDSCollectionETWBCLProvider.cs
- CqlIdentifiers.cs
- ReferentialConstraint.cs
- RadioButtonAutomationPeer.cs
- MsmqAppDomainProtocolHandler.cs
- XmlSchemaCompilationSettings.cs
- Interlocked.cs
- AstNode.cs
- DeviceFiltersSection.cs
- SamlAuthorizationDecisionClaimResource.cs
- SessionStateSection.cs
- SpellCheck.cs
- DataGridClipboardCellContent.cs
- ThemeableAttribute.cs
- ProcessStartInfo.cs
- Geometry3D.cs
- RoleGroupCollection.cs
- FixedStringLookup.cs
- CodeTypeParameterCollection.cs
- WebPartManagerDesigner.cs
- OneOfConst.cs
- AssemblyBuilderData.cs
- RegexBoyerMoore.cs
- PeerInvitationResponse.cs
- MsmqChannelListenerBase.cs
- DebugInfo.cs
- BamlLocalizableResource.cs
- ProcessStartInfo.cs
- NavigatorInput.cs
- ToolStripLocationCancelEventArgs.cs
- CharUnicodeInfo.cs
- NullExtension.cs
- SyntaxCheck.cs
- SafeFindHandle.cs
- infer.cs
- ControlDesignerState.cs
- HttpListenerRequest.cs
- ComboBox.cs
- FixedPageAutomationPeer.cs
- TextBox.cs