Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UI / AttributeCollection.cs / 1 / AttributeCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * AttributeCollection.cs * * Copyright (c) 2000 Microsoft Corporation */ namespace System.Web.UI { using System.IO; using System.Collections; using System.Reflection; using System.Web.UI; using System.Globalization; using System.Security.Permissions; using System.Web.Util; /* * The AttributeCollection represents Attributes on an Html control. */ ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class AttributeCollection { private StateBag _bag; private CssStyleCollection _styleColl; /* * Constructs an AttributeCollection given a StateBag. */ ////// The ///class provides object-model access /// to all attributes declared on an HTML server control element. /// /// public AttributeCollection(StateBag bag) { _bag = bag; } /* * Automatically adds new keys. */ ////// public string this[string key] { get { if (_styleColl != null && StringUtil.EqualsIgnoreCase(key, "style")) return _styleColl.Value; else return _bag[key] as string; } set { Add(key, value); } } /* * Returns a collection of keys. */ ////// Gets or sets a specified attribute value. /// ////// public ICollection Keys { get { return _bag.Keys; } } ////// Gets a collection of keys to all the attributes in the /// ///. /// /// public int Count { get { return _bag.Count; } } ////// Gets the number of items in the ///. /// /// public CssStyleCollection CssStyle { get { if (_styleColl == null) { _styleColl = new CssStyleCollection(_bag); } return _styleColl; } } ////// public void Add(string key, string value) { if (_styleColl != null && StringUtil.EqualsIgnoreCase(key, "style")) _styleColl.Value = value; else _bag[key] = value; } public override bool Equals(object o) { // This implementation of Equals relies on mutable properties and is therefore broken, // but we shipped it this way in V1 so it will be a breaking change to fix it. AttributeCollection attrs = o as AttributeCollection; if (attrs != null) { if (attrs.Count != _bag.Count) { return false; } foreach (DictionaryEntry attr in _bag) { if (this[(string)attr.Key] != attrs[(string)attr.Key]) { return false; } } return true; } return false; } public override int GetHashCode() { // This implementation of GetHashCode uses mutable properties but matches the V1 implementation // of Equals. HashCodeCombiner hashCodeCombiner = new HashCodeCombiner(); foreach (DictionaryEntry attr in _bag) { hashCodeCombiner.AddObject(attr.Key); hashCodeCombiner.AddObject(attr.Value); } return hashCodeCombiner.CombinedHash32; } ////// Adds an item to the ///. /// /// public void Remove(string key) { if (_styleColl != null && StringUtil.EqualsIgnoreCase(key, "style")) _styleColl.Clear(); else _bag.Remove(key); } ////// Removes an attribute from the ///. /// /// public void Clear() { _bag.Clear(); if (_styleColl != null) _styleColl.Clear(); } ////// Removes all attributes from the ///. /// /// public void Render(HtmlTextWriter writer) { if (_bag.Count > 0) { IDictionaryEnumerator e = _bag.GetEnumerator(); while (e.MoveNext()) { StateItem item = e.Value as StateItem; if (item != null) { string value = item.Value as string; string key = e.Key as string; if (key != null && value != null) { writer.WriteAttribute(key, value, true /*fEncode*/); } } } } } ///[To be supplied.] ////// public void AddAttributes(HtmlTextWriter writer) { if (_bag.Count > 0) { IDictionaryEnumerator e = _bag.GetEnumerator(); while (e.MoveNext()) { StateItem item = e.Value as StateItem; if (item != null) { string value = item.Value as string; string key = e.Key as string; if (key != null && value != null) { writer.AddAttribute(key, value, true /*fEncode*/); } } } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * AttributeCollection.cs * * Copyright (c) 2000 Microsoft Corporation */ namespace System.Web.UI { using System.IO; using System.Collections; using System.Reflection; using System.Web.UI; using System.Globalization; using System.Security.Permissions; using System.Web.Util; /* * The AttributeCollection represents Attributes on an Html control. */ ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class AttributeCollection { private StateBag _bag; private CssStyleCollection _styleColl; /* * Constructs an AttributeCollection given a StateBag. */ ////// The ///class provides object-model access /// to all attributes declared on an HTML server control element. /// /// public AttributeCollection(StateBag bag) { _bag = bag; } /* * Automatically adds new keys. */ ////// public string this[string key] { get { if (_styleColl != null && StringUtil.EqualsIgnoreCase(key, "style")) return _styleColl.Value; else return _bag[key] as string; } set { Add(key, value); } } /* * Returns a collection of keys. */ ////// Gets or sets a specified attribute value. /// ////// public ICollection Keys { get { return _bag.Keys; } } ////// Gets a collection of keys to all the attributes in the /// ///. /// /// public int Count { get { return _bag.Count; } } ////// Gets the number of items in the ///. /// /// public CssStyleCollection CssStyle { get { if (_styleColl == null) { _styleColl = new CssStyleCollection(_bag); } return _styleColl; } } ////// public void Add(string key, string value) { if (_styleColl != null && StringUtil.EqualsIgnoreCase(key, "style")) _styleColl.Value = value; else _bag[key] = value; } public override bool Equals(object o) { // This implementation of Equals relies on mutable properties and is therefore broken, // but we shipped it this way in V1 so it will be a breaking change to fix it. AttributeCollection attrs = o as AttributeCollection; if (attrs != null) { if (attrs.Count != _bag.Count) { return false; } foreach (DictionaryEntry attr in _bag) { if (this[(string)attr.Key] != attrs[(string)attr.Key]) { return false; } } return true; } return false; } public override int GetHashCode() { // This implementation of GetHashCode uses mutable properties but matches the V1 implementation // of Equals. HashCodeCombiner hashCodeCombiner = new HashCodeCombiner(); foreach (DictionaryEntry attr in _bag) { hashCodeCombiner.AddObject(attr.Key); hashCodeCombiner.AddObject(attr.Value); } return hashCodeCombiner.CombinedHash32; } ////// Adds an item to the ///. /// /// public void Remove(string key) { if (_styleColl != null && StringUtil.EqualsIgnoreCase(key, "style")) _styleColl.Clear(); else _bag.Remove(key); } ////// Removes an attribute from the ///. /// /// public void Clear() { _bag.Clear(); if (_styleColl != null) _styleColl.Clear(); } ////// Removes all attributes from the ///. /// /// public void Render(HtmlTextWriter writer) { if (_bag.Count > 0) { IDictionaryEnumerator e = _bag.GetEnumerator(); while (e.MoveNext()) { StateItem item = e.Value as StateItem; if (item != null) { string value = item.Value as string; string key = e.Key as string; if (key != null && value != null) { writer.WriteAttribute(key, value, true /*fEncode*/); } } } } } ///[To be supplied.] ////// public void AddAttributes(HtmlTextWriter writer) { if (_bag.Count > 0) { IDictionaryEnumerator e = _bag.GetEnumerator(); while (e.MoveNext()) { StateItem item = e.Value as StateItem; if (item != null) { string value = item.Value as string; string key = e.Key as string; if (key != null && value != null) { writer.AddAttribute(key, value, true /*fEncode*/); } } } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LoginStatusDesigner.cs
- InputScope.cs
- ModelItemKeyValuePair.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- KeyedQueue.cs
- DataGridViewColumnConverter.cs
- SecurityElement.cs
- OracleTransaction.cs
- PanelDesigner.cs
- SQLMoneyStorage.cs
- DifferencingCollection.cs
- CharEntityEncoderFallback.cs
- AuthenticationException.cs
- ButtonFlatAdapter.cs
- MappingSource.cs
- FileSecurity.cs
- SqlFormatter.cs
- DetailsViewRow.cs
- HitTestWithGeometryDrawingContextWalker.cs
- Predicate.cs
- M3DUtil.cs
- WebEventTraceProvider.cs
- WebPartTransformer.cs
- KeyEventArgs.cs
- AuthenticationModuleElement.cs
- ConnectionConsumerAttribute.cs
- VerificationException.cs
- TreeViewAutomationPeer.cs
- Ref.cs
- ControlBuilderAttribute.cs
- SecurityDocument.cs
- Image.cs
- DisableDpiAwarenessAttribute.cs
- ScrollPattern.cs
- PenThreadWorker.cs
- DataGridViewButtonCell.cs
- SqlGenerator.cs
- PointLight.cs
- SizeAnimationBase.cs
- ReflectionServiceProvider.cs
- ComplexTypeEmitter.cs
- AsmxEndpointPickerExtension.cs
- RoutingChannelExtension.cs
- CreateUserWizardStep.cs
- DataKeyArray.cs
- TextEditorThreadLocalStore.cs
- TextEditorCharacters.cs
- OutputWindow.cs
- WorkflowControlEndpoint.cs
- SimpleParser.cs
- DropShadowBitmapEffect.cs
- ScalarType.cs
- PerformanceCounter.cs
- ConstantProjectedSlot.cs
- ClipboardProcessor.cs
- ValidationResult.cs
- XmlBinaryWriter.cs
- MemberAccessException.cs
- HtmlAnchor.cs
- DeclarativeCatalogPart.cs
- LabelLiteral.cs
- ModuleConfigurationInfo.cs
- EntityViewGenerationAttribute.cs
- TextTreeObjectNode.cs
- ApplicationInterop.cs
- SafeThreadHandle.cs
- TextEffect.cs
- HttpCookie.cs
- IpcChannelHelper.cs
- GroupStyle.cs
- AnnotationHighlightLayer.cs
- BinaryMethodMessage.cs
- CodeFieldReferenceExpression.cs
- MetadataSection.cs
- TextEncodedRawTextWriter.cs
- PersonalizationAdministration.cs
- Matrix.cs
- FontDriver.cs
- ParseElementCollection.cs
- SoapExtensionReflector.cs
- DataObjectFieldAttribute.cs
- SplayTreeNode.cs
- PartialCachingAttribute.cs
- PreloadHost.cs
- MethodBody.cs
- LinqDataSourceContextData.cs
- LinqDataSourceDisposeEventArgs.cs
- SizeLimitedCache.cs
- Helpers.cs
- Operator.cs
- TdsParserSafeHandles.cs
- CollectionsUtil.cs
- AsyncCodeActivity.cs
- _HeaderInfo.cs
- MemberHolder.cs
- XmlUtf8RawTextWriter.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- TextRunCache.cs
- Screen.cs
- DecimalAnimation.cs