Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / DropDownList.cs / 1305376 / DropDownList.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Collections.Specialized;
using System.Drawing;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls.Adapters;
///
/// Creates a control that allows the user to select a single item from a
/// drop-down list.
///
[
SupportsEventValidation,
ValidationProperty("SelectedItem")
]
public class DropDownList : ListControl, IPostBackDataHandler {
///
/// Initializes a new instance of the class.
///
public DropDownList() {
}
///
/// [To be supplied.]
///
[
Browsable(false)
]
public override Color BorderColor {
get {
return base.BorderColor;
}
set {
base.BorderColor = value;
}
}
///
/// [To be supplied.]
///
[
Browsable(false)
]
public override BorderStyle BorderStyle {
get {
return base.BorderStyle;
}
set {
base.BorderStyle = value;
}
}
///
/// [To be supplied.]
///
[
Browsable(false)
]
public override Unit BorderWidth {
get {
return base.BorderWidth;
}
set {
base.BorderWidth = value;
}
}
public override bool SupportsDisabledAttribute {
get {
return true;
}
}
///
/// Gets or sets the index of the item selected by the user
/// from the
/// control.
///
[
WebCategory("Behavior"),
DefaultValue(0),
WebSysDescription(SR.WebControl_SelectedIndex),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
]
public override int SelectedIndex {
get {
int selectedIndex = base.SelectedIndex;
if (selectedIndex < 0 && Items.Count > 0) {
Items[0].Selected = true;
selectedIndex = 0;
}
return selectedIndex;
}
set {
base.SelectedIndex = value;
}
}
internal override ArrayList SelectedIndicesInternal {
get {
int sideEffect = SelectedIndex;
return base.SelectedIndicesInternal;
}
}
protected override void AddAttributesToRender(HtmlTextWriter writer) {
string uniqueID = UniqueID;
if (uniqueID != null) {
writer.AddAttribute(HtmlTextWriterAttribute.Name, uniqueID);
}
base.AddAttributesToRender(writer);
}
protected override ControlCollection CreateControlCollection() {
return new EmptyControlCollection(this);
}
///
///
/// Process posted data for the control.
///
bool IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) {
return LoadPostData(postDataKey, postCollection);
}
///
///
/// Process posted data for the control.
///
protected virtual bool LoadPostData(String postDataKey, NameValueCollection postCollection) {
// When a DropDownList is disabled, then there is no postback data for it.
// Since DropDownList doesn't call RegisterRequiresPostBack, this method will
// never be called, so we don't need to worry about ignoring empty postback data.
string [] selectedItems = postCollection.GetValues(postDataKey);
EnsureDataBound();
if (selectedItems != null) {
ValidateEvent(postDataKey, selectedItems[0]);
int n = Items.FindByValueInternal(selectedItems[0], false);
if (SelectedIndex != n) {
SetPostDataSelection(n);
return true;
}
}
return false;
}
///
///
/// Raises events for the control on post back.
///
void IPostBackDataHandler.RaisePostDataChangedEvent() {
RaisePostDataChangedEvent();
}
///
///
/// Raises events for the control on post back.
///
protected virtual void RaisePostDataChangedEvent() {
if (AutoPostBack && !Page.IsPostBackEventControlRegistered) {
// VSWhidbey 204824
Page.AutoPostBackControl = this;
if (CausesValidation) {
Page.Validate(ValidationGroup);
}
}
OnSelectedIndexChanged(EventArgs.Empty);
}
protected internal override void VerifyMultiSelect() {
throw new HttpException(SR.GetString(SR.Cant_Multiselect, "DropDownList"));
}
}
}
// 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
- DrawingGroup.cs
- BuildProviderCollection.cs
- Stylus.cs
- CookieProtection.cs
- Config.cs
- SimpleApplicationHost.cs
- InstancePersistenceCommand.cs
- TextParagraphCache.cs
- ListBoxDesigner.cs
- DataGridColumnEventArgs.cs
- HitTestDrawingContextWalker.cs
- DnsEndPoint.cs
- SrgsRuleRef.cs
- SelectionRangeConverter.cs
- IListConverters.cs
- KeyValueInternalCollection.cs
- AnnotationStore.cs
- Logging.cs
- ScriptRegistrationManager.cs
- SubMenuStyleCollection.cs
- ChildTable.cs
- QilSortKey.cs
- MemberPath.cs
- DockPattern.cs
- MsmqIntegrationProcessProtocolHandler.cs
- GradientStop.cs
- ToolTip.cs
- MessagingDescriptionAttribute.cs
- CodeGeneratorOptions.cs
- FontStretch.cs
- SimpleWorkerRequest.cs
- XmlNodeReader.cs
- CustomCredentialPolicy.cs
- ObjectDataSourceDesigner.cs
- _NetRes.cs
- WpfSharedBamlSchemaContext.cs
- ClickablePoint.cs
- AdornerDecorator.cs
- XmlLoader.cs
- Block.cs
- PropertyMapper.cs
- ConfigXmlDocument.cs
- ControlPropertyNameConverter.cs
- MetadataUtilsSmi.cs
- UxThemeWrapper.cs
- CreateUserWizardStep.cs
- nulltextnavigator.cs
- milexports.cs
- SmiEventSink_Default.cs
- RowSpanVector.cs
- DelayedRegex.cs
- MouseBinding.cs
- AuthStoreRoleProvider.cs
- dbdatarecord.cs
- ICollection.cs
- CompilationPass2TaskInternal.cs
- Baml2006ReaderFrame.cs
- LayoutSettings.cs
- CatalogZoneAutoFormat.cs
- PrintDialogException.cs
- RoleGroup.cs
- DbConvert.cs
- QilBinary.cs
- SqlConnectionManager.cs
- PipelineModuleStepContainer.cs
- ExceptionRoutedEventArgs.cs
- SystemColors.cs
- DataGridViewCellConverter.cs
- AssemblyName.cs
- DelegatingTypeDescriptionProvider.cs
- Line.cs
- RuntimeArgumentHandle.cs
- TemplateParser.cs
- FramingFormat.cs
- SqlFlattener.cs
- Transform.cs
- CodeRegionDirective.cs
- ParserHooks.cs
- IOThreadScheduler.cs
- PolyBezierSegment.cs
- EpmSourcePathSegment.cs
- RijndaelManagedTransform.cs
- TransactionBridge.cs
- MbpInfo.cs
- UnauthorizedWebPart.cs
- ReflectionUtil.cs
- SessionStateUtil.cs
- DynamicExpression.cs
- XmlSchemaDocumentation.cs
- IntegerValidator.cs
- JsonObjectDataContract.cs
- StateChangeEvent.cs
- XNodeNavigator.cs
- DynamicValidatorEventArgs.cs
- TransformConverter.cs
- SelectionItemProviderWrapper.cs
- ProxyElement.cs
- CompiledIdentityConstraint.cs
- CorrelationActionMessageFilter.cs
- ConcurrentBag.cs