2013-02-18 2 views
1

Я заполнил выпадающий список с активными пользователями каталогов, а не большое дело и отлично работает. Проблема в том, что он устанавливает <option selected="selected" value="user">User</option> на первом и не позволит мне изменить его в коде позади. Есть ли способ удержать его от автоматической установки selected="selected"?Dropdownlist Databind автоматически устанавливает выбранное значение?

+0

Добро пожаловать в 'SO' вы связывании вы выпадающий на события загрузки страницы? –

+0

Быстрый ответ wow and Thank you. Soner yes sir и его завернутый в if (! Page.IsPostback). Может быть, я должен сказать, что я не хочу, чтобы значение ANY было выбрано до тех пор, пока пользователь не выберет его. – tattooedgeek

ответ

2
<asp:DropDownList ID="dlst" runat="server" Width="200px" 
      AutoPostBack="True" DataSourceID="dlstvalues" DataTextField="name" 
      AppendDataBoundItems="true"> 
    <asp:ListItem>-- Select --</asp:ListItem> 
</asp:DropDownList> 

Или это должно работать:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     DropDownList1.AppendDataBoundItems = true; 
     DropDownList1.Items.Insert(0, new ListItem(String.Empty, String.Empty)); 
     DropDownList1.SelectedIndex = 0; 
    } 
} 
+0

Отлично благодарю вас за быстрый ответ. Это работает. – tattooedgeek

+0

Добро пожаловать .. Гляди, что это помогло тебе :) – coder

0

Он будет автоматически устанавливать первый как выбранный. Вы должны ввести значение по умолчанию в раскрывающийся список и установить его в первый элемент.

ddlName.Items.Insert(0, new System.Web.UI.WebControls.ListItem("<--Select-->", "0")); 
+0

Благодарим вас за ваш ответ. Это работает и для всех, кто приходит. Проблемы были у меня также был Dropdownlist1.Items.Clear() и ОБЯЗАТЕЛЬНО забыл об этом. – tattooedgeek

0

Это происходит из-за того, что вы можете связывать свой дорпаунд при загрузке страницы.
И вы не можете проверять обратную передачу
Выполнение этого действия приведет к повторному связыванию значений, и вы получите новые элементы в раскрывающемся списке.
Предыдущие selected index не останутся.

Вы должны связать это в IsPostBack

if (!Page.IsPostBack) 
{ 
    //bind data 
} 
+0

Спасибо за ответ, но это уже сделано. – tattooedgeek

Смежные вопросы