Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / DataBindingCollection.cs / 1 / DataBindingCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Data;
using System.Web.Util;
using System.Security.Permissions;
///
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class DataBindingCollection : ICollection {
private EventHandler changedEvent;
private Hashtable bindings;
private Hashtable removedBindings;
///
///
public DataBindingCollection() {
this.bindings = new Hashtable(StringComparer.OrdinalIgnoreCase);
}
///
///
public int Count {
get {
return bindings.Count;
}
}
///
///
public bool IsReadOnly {
get {
return false;
}
}
///
///
public bool IsSynchronized {
get {
return false;
}
}
///
///
public string[] RemovedBindings {
get {
int bindingCount = 0;
ICollection keys = null;
if (removedBindings != null) {
keys = removedBindings.Keys;
bindingCount = keys.Count;
string[] removedNames = new string[bindingCount];
int i = 0;
foreach (string s in keys) {
removedNames[i++] = s;
}
removedBindings.Clear();
return removedNames;
}
else {
return new string[0];
}
}
}
///
///
private Hashtable RemovedBindingsTable {
get {
if (removedBindings == null) {
removedBindings = new Hashtable(StringComparer.OrdinalIgnoreCase);
}
return removedBindings;
}
}
///
///
public object SyncRoot {
get {
return this;
}
}
///
///
public DataBinding this[string propertyName] {
get {
object o = bindings[propertyName];
if (o != null)
return(DataBinding)o;
return null;
}
}
public event EventHandler Changed {
add {
changedEvent = (EventHandler)Delegate.Combine(changedEvent, value);
}
remove {
changedEvent = (EventHandler)Delegate.Remove(changedEvent, value);
}
}
///
///
public void Add(DataBinding binding) {
bindings[binding.PropertyName] = binding;
RemovedBindingsTable.Remove(binding.PropertyName);
OnChanged();
}
///
///
public bool Contains(string propertyName) {
return bindings.Contains(propertyName);
}
///
///
public void Clear() {
ICollection keys = bindings.Keys;
if ((keys.Count != 0) && (removedBindings == null)) {
// ensure the removedBindings hashtable is created
Hashtable h = RemovedBindingsTable;
}
foreach (string s in keys) {
removedBindings[s] = String.Empty;
}
bindings.Clear();
OnChanged();
}
///
///
public void CopyTo(Array array, int index) {
for (IEnumerator e = this.GetEnumerator(); e.MoveNext();)
array.SetValue(e.Current, index++);
}
///
///
public IEnumerator GetEnumerator() {
return bindings.Values.GetEnumerator();
}
private void OnChanged() {
if (changedEvent != null) {
changedEvent(this, EventArgs.Empty);
}
}
///
///
public void Remove(string propertyName) {
Remove(propertyName, true);
}
///
///
public void Remove(DataBinding binding) {
Remove(binding.PropertyName, true);
}
///
///
public void Remove(string propertyName, bool addToRemovedList) {
if (Contains(propertyName)) {
bindings.Remove(propertyName);
if (addToRemovedList) {
RemovedBindingsTable[propertyName] = String.Empty;
}
OnChanged();
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Data;
using System.Web.Util;
using System.Security.Permissions;
///
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class DataBindingCollection : ICollection {
private EventHandler changedEvent;
private Hashtable bindings;
private Hashtable removedBindings;
///
///
public DataBindingCollection() {
this.bindings = new Hashtable(StringComparer.OrdinalIgnoreCase);
}
///
///
public int Count {
get {
return bindings.Count;
}
}
///
///
public bool IsReadOnly {
get {
return false;
}
}
///
///
public bool IsSynchronized {
get {
return false;
}
}
///
///
public string[] RemovedBindings {
get {
int bindingCount = 0;
ICollection keys = null;
if (removedBindings != null) {
keys = removedBindings.Keys;
bindingCount = keys.Count;
string[] removedNames = new string[bindingCount];
int i = 0;
foreach (string s in keys) {
removedNames[i++] = s;
}
removedBindings.Clear();
return removedNames;
}
else {
return new string[0];
}
}
}
///
///
private Hashtable RemovedBindingsTable {
get {
if (removedBindings == null) {
removedBindings = new Hashtable(StringComparer.OrdinalIgnoreCase);
}
return removedBindings;
}
}
///
///
public object SyncRoot {
get {
return this;
}
}
///
///
public DataBinding this[string propertyName] {
get {
object o = bindings[propertyName];
if (o != null)
return(DataBinding)o;
return null;
}
}
public event EventHandler Changed {
add {
changedEvent = (EventHandler)Delegate.Combine(changedEvent, value);
}
remove {
changedEvent = (EventHandler)Delegate.Remove(changedEvent, value);
}
}
///
///
public void Add(DataBinding binding) {
bindings[binding.PropertyName] = binding;
RemovedBindingsTable.Remove(binding.PropertyName);
OnChanged();
}
///
///
public bool Contains(string propertyName) {
return bindings.Contains(propertyName);
}
///
///
public void Clear() {
ICollection keys = bindings.Keys;
if ((keys.Count != 0) && (removedBindings == null)) {
// ensure the removedBindings hashtable is created
Hashtable h = RemovedBindingsTable;
}
foreach (string s in keys) {
removedBindings[s] = String.Empty;
}
bindings.Clear();
OnChanged();
}
///
///
public void CopyTo(Array array, int index) {
for (IEnumerator e = this.GetEnumerator(); e.MoveNext();)
array.SetValue(e.Current, index++);
}
///
///
public IEnumerator GetEnumerator() {
return bindings.Values.GetEnumerator();
}
private void OnChanged() {
if (changedEvent != null) {
changedEvent(this, EventArgs.Empty);
}
}
///
///
public void Remove(string propertyName) {
Remove(propertyName, true);
}
///
///
public void Remove(DataBinding binding) {
Remove(binding.PropertyName, true);
}
///
///
public void Remove(string propertyName, bool addToRemovedList) {
if (Contains(propertyName)) {
bindings.Remove(propertyName);
if (addToRemovedList) {
RemovedBindingsTable[propertyName] = String.Empty;
}
OnChanged();
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IDispatchConstantAttribute.cs
- HttpClientChannel.cs
- PersistenceTypeAttribute.cs
- _emptywebproxy.cs
- CodeChecksumPragma.cs
- Hex.cs
- xmlformatgeneratorstatics.cs
- HttpHeaderCollection.cs
- HtmlPageAdapter.cs
- ProfileManager.cs
- SQlBooleanStorage.cs
- _ProxyChain.cs
- TabItemWrapperAutomationPeer.cs
- DropDownButton.cs
- XamlFxTrace.cs
- Panel.cs
- OutputCacheEntry.cs
- PageRouteHandler.cs
- WebZone.cs
- DataListItemEventArgs.cs
- HashHelpers.cs
- DocumentReference.cs
- XPathSelectionIterator.cs
- Helper.cs
- EntityDataSourceSelectingEventArgs.cs
- EventLogEntryCollection.cs
- PresentationTraceSources.cs
- ConfigurationValidatorAttribute.cs
- XComponentModel.cs
- ProofTokenCryptoHandle.cs
- RepeatButtonAutomationPeer.cs
- SmiRecordBuffer.cs
- Ipv6Element.cs
- PageCatalogPart.cs
- AccessibleObject.cs
- TextTreeObjectNode.cs
- Win32.cs
- StorageScalarPropertyMapping.cs
- HostingEnvironmentException.cs
- BaseCodePageEncoding.cs
- BufferBuilder.cs
- InstanceContext.cs
- BuildTopDownAttribute.cs
- MemberCollection.cs
- TimeSpan.cs
- Int64.cs
- CodeSubDirectory.cs
- Win32Native.cs
- InternalUserCancelledException.cs
- SymbolMethod.cs
- MaskInputRejectedEventArgs.cs
- XmlName.cs
- TcpProcessProtocolHandler.cs
- DataStorage.cs
- PrivacyNoticeBindingElementImporter.cs
- FieldDescriptor.cs
- ProcessActivityTreeOptions.cs
- RankException.cs
- OleDbRowUpdatingEvent.cs
- SqlBinder.cs
- DateTime.cs
- designeractionbehavior.cs
- RadioButtonStandardAdapter.cs
- EpmCustomContentDeSerializer.cs
- Tablet.cs
- XhtmlTextWriter.cs
- BinaryKeyIdentifierClause.cs
- PriorityBinding.cs
- StringComparer.cs
- EntryPointNotFoundException.cs
- NameValuePair.cs
- sqlpipe.cs
- XmlUtil.cs
- URLAttribute.cs
- ListViewDataItem.cs
- ContextStaticAttribute.cs
- CommandDevice.cs
- Constraint.cs
- IconConverter.cs
- Matrix.cs
- XmlEncoding.cs
- WebServiceReceiveDesigner.cs
- DynamicArgumentDesigner.xaml.cs
- KnownTypesHelper.cs
- ServiceModelReg.cs
- SynchronizationHandlesCodeDomSerializer.cs
- VisualBasicSettingsHandler.cs
- TokenizerHelper.cs
- XslAst.cs
- CapabilitiesPattern.cs
- HttpConfigurationContext.cs
- ProtocolsConfiguration.cs
- BooleanAnimationUsingKeyFrames.cs
- WorkerRequest.cs
- ZipPackagePart.cs
- PolicyManager.cs
- DataGrid.cs
- BackgroundFormatInfo.cs
- ListItem.cs
- CodeCompiler.cs