protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); _renderViewMode = ViewMode; int itemCountIfListHasSingleItem = (HasHeaderItem ? 2 : 1); int firstItemIndex = itemCountIfListHasSingleItem - 1; bool setSelectedIndex = ((SelectedIndex == 0) && ((AutoSelectFirstItem) || ((AutoSelectIfSingleItem) && (Items.Count == itemCountIfListHasSingleItem)))); if (setSelectedIndex) { SelectedIndex = firstItemIndex; } SingleItemRenderMode singleItemRenderMode = SingleItemRenderOption; if ((singleItemRenderMode != SingleItemRenderMode.UseFieldMode) && (_renderViewMode == FormFieldViewMode.Input) && (Items.Count == itemCountIfListHasSingleItem)) { switch (singleItemRenderMode) { case SingleItemRenderMode.RenderHidden: _renderViewMode = FormFieldViewMode.Hidden; break; case SingleItemRenderMode.RenderStaticWithHidden: _renderViewMode = FormFieldViewMode.StaticWithHidden; break; } } }
/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.PreRender"/> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs"/> that contains the event data.</param> protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); _renderViewMode = ViewMode; var itemCountIfListHasSingleItem = (HasHeaderItem ? 2 : 1); var firstItemIndex = itemCountIfListHasSingleItem - 1; var setSelectedIndex = (SelectedIndex == 0 && (AutoSelectFirstItem || (AutoSelectIfSingleItem && Items.Count == itemCountIfListHasSingleItem))); if (setSelectedIndex) SelectedIndex = firstItemIndex; var singleItemRenderMode = SingleItemRenderOption; if (singleItemRenderMode != SingleItemRenderMode.UseFieldMode && _renderViewMode == FormFieldViewMode.Input && Items.Count == itemCountIfListHasSingleItem) switch (singleItemRenderMode) { case SingleItemRenderMode.RenderHidden: _renderViewMode = FormFieldViewMode.Hidden; break; case SingleItemRenderMode.RenderStaticWithHidden: _renderViewMode = FormFieldViewMode.StaticWithHidden; break; } }