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
- Errors.cs
- NonPrimarySelectionGlyph.cs
- XamlToRtfWriter.cs
- MouseWheelEventArgs.cs
- PointUtil.cs
- IERequestCache.cs
- DataListCommandEventArgs.cs
- TemplateBindingExtensionConverter.cs
- TemplatedAdorner.cs
- Zone.cs
- ISFTagAndGuidCache.cs
- ExpressionPrefixAttribute.cs
- SwitchElementsCollection.cs
- PrePrepareMethodAttribute.cs
- InternalConfirm.cs
- Button.cs
- BamlResourceDeserializer.cs
- Nullable.cs
- MethodRental.cs
- InvalidFilterCriteriaException.cs
- JournalEntryListConverter.cs
- DataGridColumnCollectionEditor.cs
- ScrollBarRenderer.cs
- StaticExtension.cs
- SuspendDesigner.cs
- XmlSignificantWhitespace.cs
- Span.cs
- GlyphRunDrawing.cs
- activationcontext.cs
- sqlmetadatafactory.cs
- DispatchOperation.cs
- path.cs
- XmlTextAttribute.cs
- RequestCacheEntry.cs
- DoubleStorage.cs
- CodeIdentifiers.cs
- DataMemberConverter.cs
- QilGenerator.cs
- MsmqReceiveParameters.cs
- XmlSchemaSimpleTypeList.cs
- Point4D.cs
- FontCollection.cs
- TrackingDataItemValue.cs
- XmlImplementation.cs
- Decimal.cs
- Font.cs
- TextEditorLists.cs
- XmlWrappingReader.cs
- DurableInstanceManager.cs
- SecurityChannel.cs
- XmlSchemaFacet.cs
- DataTableReaderListener.cs
- StateValidator.cs
- ConsumerConnectionPoint.cs
- NameSpaceExtractor.cs
- BrushConverter.cs
- KeyProperty.cs
- WindowsTab.cs
- typedescriptorpermission.cs
- DataGridViewCellCancelEventArgs.cs
- DetailsViewDeleteEventArgs.cs
- EditCommandColumn.cs
- IndexedGlyphRun.cs
- SHA512Managed.cs
- ContentPresenter.cs
- loginstatus.cs
- UriTemplateTableMatchCandidate.cs
- ValidationRuleCollection.cs
- WebMethodAttribute.cs
- RenderCapability.cs
- ResourceManager.cs
- SiteMapProvider.cs
- XmlJsonWriter.cs
- TextRangeEdit.cs
- ProfileGroupSettingsCollection.cs
- UnsafeNativeMethodsCLR.cs
- TextParaClient.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- TemplateBamlTreeBuilder.cs
- CompilationUnit.cs
- LogicalCallContext.cs
- MatrixAnimationUsingKeyFrames.cs
- PostBackTrigger.cs
- ProcessHostFactoryHelper.cs
- CatalogZone.cs
- FormsAuthenticationEventArgs.cs
- SqlXmlStorage.cs
- WsdlBuildProvider.cs
- XmlSchemaIdentityConstraint.cs
- IriParsingElement.cs
- HttpsHostedTransportConfiguration.cs
- PriorityBindingExpression.cs
- XmlSchemaElement.cs
- XmlFileEditor.cs
- FileUtil.cs
- httpserverutility.cs
- AvTraceDetails.cs
- PanelDesigner.cs
- MissingMethodException.cs
- Int64AnimationBase.cs