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
- TemplateDefinition.cs
- columnmapkeybuilder.cs
- HttpWriter.cs
- sqlpipe.cs
- ToolBar.cs
- DesigntimeLicenseContext.cs
- TransactionState.cs
- UrlPath.cs
- ContentElementAutomationPeer.cs
- GregorianCalendarHelper.cs
- MsmqHostedTransportConfiguration.cs
- SymbolPair.cs
- ConstructorBuilder.cs
- RuntimeHandles.cs
- FixedSchema.cs
- DocumentSequenceHighlightLayer.cs
- SQLGuid.cs
- WebServiceErrorEvent.cs
- DrawingContextWalker.cs
- ObjectDataSourceMethodEventArgs.cs
- DesignerActionService.cs
- QuaternionAnimation.cs
- IPEndPoint.cs
- ObjectTag.cs
- FixedSOMImage.cs
- MouseEventArgs.cs
- SqlClientPermission.cs
- DBConnectionString.cs
- peersecuritysettings.cs
- OdbcCommandBuilder.cs
- XMLSyntaxException.cs
- InstanceStore.cs
- LockRecursionException.cs
- FieldNameLookup.cs
- ContactManager.cs
- AttachedProperty.cs
- AnimationStorage.cs
- ProxyAttribute.cs
- PnrpPermission.cs
- AuthorizationRule.cs
- QueuePropertyVariants.cs
- Helper.cs
- SqlStream.cs
- HuffCodec.cs
- SortedList.cs
- TemplateBuilder.cs
- WorkflowItemPresenter.cs
- SystemWebExtensionsSectionGroup.cs
- WorkflowMessageEventHandler.cs
- SmiEventSink_Default.cs
- ContentElement.cs
- WebPartUserCapability.cs
- fixedPageContentExtractor.cs
- SqlTriggerAttribute.cs
- DataGridCell.cs
- LinkLabel.cs
- StringSource.cs
- ResourceReferenceExpression.cs
- basenumberconverter.cs
- SqlCacheDependencyDatabaseCollection.cs
- MimeWriter.cs
- SizeChangedInfo.cs
- XmlSchemaExporter.cs
- PaperSize.cs
- FontNameEditor.cs
- connectionpool.cs
- HostingEnvironmentWrapper.cs
- FixedDocumentSequencePaginator.cs
- ResourceSet.cs
- RepeaterItem.cs
- SyntaxCheck.cs
- CryptoProvider.cs
- MatrixUtil.cs
- Binding.cs
- CellRelation.cs
- MembershipValidatePasswordEventArgs.cs
- PrivateFontCollection.cs
- IisTraceWebEventProvider.cs
- TogglePattern.cs
- Operand.cs
- TreeViewHitTestInfo.cs
- ColorTranslator.cs
- DoubleIndependentAnimationStorage.cs
- RuntimeHandles.cs
- EventLogPermission.cs
- XmlDocument.cs
- XmlNodeReader.cs
- StringAnimationUsingKeyFrames.cs
- GenericEnumConverter.cs
- PointCollection.cs
- ExpressionBindings.cs
- FileUtil.cs
- CompleteWizardStep.cs
- MultiDataTrigger.cs
- ObjectSecurity.cs
- BrowsableAttribute.cs
- RelatedPropertyManager.cs
- ListViewCommandEventArgs.cs
- DESCryptoServiceProvider.cs
- OutputCacheProfile.cs