Code:
/ DotNET / DotNET / 8.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
- AutoFocusStyle.xaml.cs
- XmlCDATASection.cs
- Bitmap.cs
- Scalars.cs
- CodeRegionDirective.cs
- DataReceivedEventArgs.cs
- StylusTip.cs
- PropertyConverter.cs
- ProbeDuplex11AsyncResult.cs
- DataBindingCollection.cs
- Compress.cs
- Monitor.cs
- DataGridViewTopLeftHeaderCell.cs
- MethodRental.cs
- StateBag.cs
- MetabaseServerConfig.cs
- ApplicationInfo.cs
- RoleService.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- ConfigurationManagerHelper.cs
- WebPartsPersonalizationAuthorization.cs
- TemplateField.cs
- RectValueSerializer.cs
- AsyncOperationContext.cs
- FixedSOMElement.cs
- RepeatInfo.cs
- HMACRIPEMD160.cs
- LongPath.cs
- EntityContainerAssociationSet.cs
- BindingSource.cs
- SubtreeProcessor.cs
- EntityDataSourceEntityTypeFilterItem.cs
- EtwTrackingParticipant.cs
- TextServicesCompartmentContext.cs
- BindingValueChangedEventArgs.cs
- fixedPageContentExtractor.cs
- Region.cs
- TypeDelegator.cs
- QueryableDataSource.cs
- BrowserTree.cs
- WpfWebRequestHelper.cs
- NativeRecognizer.cs
- Literal.cs
- SR.cs
- NavigateEvent.cs
- SqlDataSourceStatusEventArgs.cs
- OleDbCommand.cs
- DbCommandDefinition.cs
- GeneralTransform2DTo3DTo2D.cs
- ListenerConnectionModeReader.cs
- BinaryObjectWriter.cs
- KeyboardEventArgs.cs
- XmlAttributeProperties.cs
- HtmlInputButton.cs
- SkewTransform.cs
- PrimitiveType.cs
- DataSysAttribute.cs
- DuplicateWaitObjectException.cs
- XamlReaderHelper.cs
- StateChangeEvent.cs
- CultureInfoConverter.cs
- FormViewAutoFormat.cs
- ContentPlaceHolder.cs
- BamlRecords.cs
- InvocationExpression.cs
- SafeNativeMethods.cs
- XmlILOptimizerVisitor.cs
- DiagnosticsConfiguration.cs
- ClientRuntime.cs
- FigureParaClient.cs
- TimeSpanConverter.cs
- ContentDisposition.cs
- CopyNodeSetAction.cs
- SeverityFilter.cs
- LayoutEngine.cs
- BamlVersionHeader.cs
- JpegBitmapEncoder.cs
- DependencyObjectValidator.cs
- StrokeNodeOperations.cs
- RightsManagementUser.cs
- Size3D.cs
- ResizeGrip.cs
- SharedPersonalizationStateInfo.cs
- GridToolTip.cs
- DayRenderEvent.cs
- FileStream.cs
- ActionFrame.cs
- FontCacheLogic.cs
- CompositionTarget.cs
- LookupTables.cs
- CheckoutException.cs
- MethodBody.cs
- ElementUtil.cs
- ToolbarAUtomationPeer.cs
- TracedNativeMethods.cs
- IInstanceTable.cs
- SqlWebEventProvider.cs
- TableLayoutPanelCellPosition.cs
- DetailsViewRow.cs
- PlainXmlDeserializer.cs