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 / WebControls / DropDownList.cs / 1 / 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; ////// [ SupportsEventValidation, ValidationProperty("SelectedItem") ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class DropDownList : ListControl, IPostBackDataHandler { ///Creates a control that allows the user to select a single item from a /// drop-down list. ////// public DropDownList() { } ///Initializes a new instance of the ///class. /// [ 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; } } ///[To be supplied.] ////// [ 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); } ///Gets or sets the index of the item selected by the user /// from 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; } ///Process posted data for the ///control. /// /// 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. //------------------------------------------------------------------------------ //Raises events for the ///control on post back. // 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; ////// [ SupportsEventValidation, ValidationProperty("SelectedItem") ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class DropDownList : ListControl, IPostBackDataHandler { ///Creates a control that allows the user to select a single item from a /// drop-down list. ////// public DropDownList() { } ///Initializes a new instance of the ///class. /// [ 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; } } ///[To be supplied.] ////// [ 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); } ///Gets or sets the index of the item selected by the user /// from 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; } ///Process posted data for the ///control. /// /// 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.Raises events for the ///control on post back.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SQLMembershipProvider.cs
- TableProviderWrapper.cs
- ParameterBuilder.cs
- ProcessHost.cs
- TextRangeAdaptor.cs
- LambdaCompiler.Address.cs
- MeshGeometry3D.cs
- MatrixCamera.cs
- TextTreeRootTextBlock.cs
- TcpConnectionPool.cs
- WorkflowViewStateService.cs
- RectangleF.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- Condition.cs
- AttributeUsageAttribute.cs
- SettingsSavedEventArgs.cs
- DataControlFieldHeaderCell.cs
- XamlRtfConverter.cs
- RegexEditorDialog.cs
- GroupByExpressionRewriter.cs
- OperatorExpressions.cs
- XmlSchemaChoice.cs
- CategoryGridEntry.cs
- HandlerWithFactory.cs
- WsdlInspector.cs
- ProxyManager.cs
- ConsumerConnectionPoint.cs
- CodeGenerationManager.cs
- LineUtil.cs
- dtdvalidator.cs
- ToolboxItemFilterAttribute.cs
- ClickablePoint.cs
- ClientTargetSection.cs
- ListViewDeleteEventArgs.cs
- TimelineCollection.cs
- XsltArgumentList.cs
- ErrorProvider.cs
- CellParaClient.cs
- SqlInternalConnection.cs
- DeviceContext2.cs
- TransactionManager.cs
- PingReply.cs
- DataTableTypeConverter.cs
- XmlKeywords.cs
- OuterProxyWrapper.cs
- DynamicRendererThreadManager.cs
- ResolvedKeyFrameEntry.cs
- WebBrowserPermission.cs
- SingleStorage.cs
- KoreanCalendar.cs
- CodeConditionStatement.cs
- Win32SafeHandles.cs
- InputReferenceExpression.cs
- storagemappingitemcollection.viewdictionary.cs
- StateItem.cs
- AssemblyName.cs
- TableCellCollection.cs
- TextServicesCompartmentContext.cs
- TextElement.cs
- FormatVersion.cs
- UserControl.cs
- TextEncodedRawTextWriter.cs
- XmlDocumentType.cs
- SHA1CryptoServiceProvider.cs
- XmlLinkedNode.cs
- SplineQuaternionKeyFrame.cs
- DbProviderConfigurationHandler.cs
- SqlServer2KCompatibilityCheck.cs
- PrintController.cs
- GraphicsContainer.cs
- HttpListenerResponse.cs
- MasterPageBuildProvider.cs
- HtmlWindow.cs
- RuntimeConfig.cs
- ReadOnlyTernaryTree.cs
- RouteItem.cs
- DataGridViewCellStyle.cs
- TemplateEditingVerb.cs
- HebrewCalendar.cs
- TraceHandler.cs
- WizardPanel.cs
- Transform.cs
- UrlPath.cs
- SqlClientWrapperSmiStreamChars.cs
- RowVisual.cs
- CollectionContainer.cs
- TextServicesCompartmentContext.cs
- PointHitTestResult.cs
- ValueTypeFixupInfo.cs
- DiscardableAttribute.cs
- ChangeProcessor.cs
- AddInAttribute.cs
- Vector3D.cs
- XmlSchemaProviderAttribute.cs
- CssClassPropertyAttribute.cs
- CheckBoxStandardAdapter.cs
- FamilyCollection.cs
- EndpointAddressMessageFilterTable.cs
- ErrorLog.cs
- PointHitTestParameters.cs