PersistenceTypeAttribute.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / PersistenceTypeAttribute.cs / 1 / PersistenceTypeAttribute.cs

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

namespace System.Web.UI { 
    using System.Runtime.InteropServices; 

    using System; 
    using System.ComponentModel;
    using System.Security.Permissions;

 
    /// 
    ///     LiteralContentAttribute indicates whether the contents within a tag representing 
    ///     a custom/web control should be treated by Trident as a "literal/text" content. 
    ///     Web controls supporting complex properties (like Templates, etc.) typically
    ///     mark themselves as "literals", thereby letting the designer infra-structure 
    ///     and Trident deal with the persistence of those attributes.
    ///
    ///     If LiteralContentAttribute.No is present or no LiteralContentAttribute marking
    ///     exists, then the tag corresponding to the web control is not treated as a literal 
    ///     content tag.
    ///     If LiteralContentAttribute.Yes is present, then the tag corresponding to the web 
    ///     control is treated as a literal content tag. 
    /// 
    [AttributeUsage(AttributeTargets.All)] 
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    public sealed class PersistenceModeAttribute : Attribute {

 
        /// 
        ///     This marks a property or event as persistable in the HTML tag as an attribute. 
        ///  
        public static readonly PersistenceModeAttribute Attribute = new PersistenceModeAttribute(PersistenceMode.Attribute);
 

        /// 
        ///     This marks a property or event as persistable within the HTML tag as a nested tag.
        ///  
        public static readonly PersistenceModeAttribute InnerProperty = new PersistenceModeAttribute(PersistenceMode.InnerProperty);
 
 
        /// 
        ///     This marks a property or event as persistable within the HTML tag as a child. 
        /// 
        public static readonly PersistenceModeAttribute InnerDefaultProperty = new PersistenceModeAttribute(PersistenceMode.InnerDefaultProperty);

 
        /// 
        ///     This marks a property or event as persistable within the HTML tag as a child. 
        ///  
        public static readonly PersistenceModeAttribute EncodedInnerDefaultProperty = new PersistenceModeAttribute(PersistenceMode.EncodedInnerDefaultProperty);
 


        /// 
        ///  
        public static readonly PersistenceModeAttribute Default = Attribute;
 
        private PersistenceMode mode = PersistenceMode.Attribute; 

 

        /// 
        public PersistenceModeAttribute(PersistenceMode mode) {
            if (mode < PersistenceMode.Attribute || mode > PersistenceMode.EncodedInnerDefaultProperty) { 
                throw new ArgumentOutOfRangeException("mode");
            } 
            this.mode = mode; 
        }
 


        /// 
        ///  
        public PersistenceMode Mode {
            get { 
                return mode; 
            }
        } 


        /// 
        public override int GetHashCode() { 
            return Mode.GetHashCode();
        } 
 

        ///  
        /// 
        /// 
        public override bool Equals(object obj) {
            if (obj == this) { 
                return true;
            } 
            if ((obj != null) && (obj is PersistenceModeAttribute)) { 
                return((PersistenceModeAttribute)obj).Mode == mode;
            } 

            return false;
        }
 

        ///  
        ///  
        /// 
        public override bool IsDefaultAttribute() { 
            return this.Equals(Default);
        }
    }
}
                        

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