Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / DropDownList.cs / 2 / 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;
using System.Security.Permissions;
///
/// Creates a control that allows the user to select a single item from a
/// drop-down list.
///
[
SupportsEventValidation,
ValidationProperty("SelectedItem")
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
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;
}
}
///
/// 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"));
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- mil_sdk_version.cs
- DeclarativeCatalogPart.cs
- ISO2022Encoding.cs
- HtmlCommandAdapter.cs
- TableRow.cs
- ObjectSpanRewriter.cs
- DocumentViewerConstants.cs
- ReadOnlyHierarchicalDataSource.cs
- TableLayoutPanel.cs
- TdsParserSafeHandles.cs
- GlobalProxySelection.cs
- InfoCardProofToken.cs
- SevenBitStream.cs
- DataRowView.cs
- HotSpotCollection.cs
- OpCellTreeNode.cs
- SrgsElementList.cs
- DefaultPrintController.cs
- XmlSchemaComplexContent.cs
- InvalidTimeZoneException.cs
- CompiledQuery.cs
- BorderSidesEditor.cs
- HttpModuleCollection.cs
- RelativeSource.cs
- CngAlgorithm.cs
- WorkflowDebuggerSteppingAttribute.cs
- DialogWindow.cs
- TextSelectionHighlightLayer.cs
- FormViewInsertEventArgs.cs
- mediaclock.cs
- TCPClient.cs
- FlowLayoutSettings.cs
- BroadcastEventHelper.cs
- LongMinMaxAggregationOperator.cs
- Pair.cs
- ExpressionsCollectionConverter.cs
- XpsS0ValidatingLoader.cs
- BrowserCapabilitiesCompiler.cs
- TypeToken.cs
- _TimerThread.cs
- IDReferencePropertyAttribute.cs
- HttpRequestWrapper.cs
- Color.cs
- DataTableNewRowEvent.cs
- CodeCatchClauseCollection.cs
- StringDictionary.cs
- XmlValueConverter.cs
- PointIndependentAnimationStorage.cs
- LockRenewalTask.cs
- COM2PropertyBuilderUITypeEditor.cs
- SamlConditions.cs
- DataGridViewRow.cs
- EntityDataSource.cs
- GlobalEventManager.cs
- TextElement.cs
- SpellCheck.cs
- DateTimeOffsetAdapter.cs
- ObjectDisposedException.cs
- QueryIntervalOp.cs
- ControlUtil.cs
- MetadataCollection.cs
- PointCollection.cs
- SrgsElement.cs
- GlyphInfoList.cs
- Matrix3DStack.cs
- MetaTableHelper.cs
- TextEditorMouse.cs
- StylusPointProperty.cs
- RemoteWebConfigurationHostStream.cs
- DescendentsWalkerBase.cs
- DataGridViewSortCompareEventArgs.cs
- ControlAdapter.cs
- GetMemberBinder.cs
- MexTcpBindingCollectionElement.cs
- DataControlFieldCell.cs
- ReflectTypeDescriptionProvider.cs
- RoutingBehavior.cs
- RtfToXamlLexer.cs
- LinkDescriptor.cs
- MarkupWriter.cs
- PageBuildProvider.cs
- HttpInputStream.cs
- DataServiceQueryException.cs
- ConnectionManagementElement.cs
- DrawingContextDrawingContextWalker.cs
- RequestNavigateEventArgs.cs
- DataRowChangeEvent.cs
- CreateRefExpr.cs
- Component.cs
- SmiContextFactory.cs
- ColumnTypeConverter.cs
- ZipIOLocalFileDataDescriptor.cs
- CompositionDesigner.cs
- WebBrowser.cs
- BaseDataListComponentEditor.cs
- XsltSettings.cs
- LinqDataView.cs
- EventHandlersDesigner.cs
- FileAuthorizationModule.cs
- IndentTextWriter.cs