baixar o valor da lista em asp.net

quero adicionar um valor à lista que não pode ser seleccionada, como um título. Ex:eu tenho uma lista de um mês. O primeiro item deve ser "selecione o mês" isto não deve ser selecionado. E o próximo é de Janeiro a dezembro. Como posso fazer isso?

E este é o meu código actual.

string selectmonth = "select * from tblmonth";
SqlCommand scmselect = new SqlCommand(selectmonth, scnbuboy);

SqlDataReader sdrselect = scmselect.ExecuteReader();

drmonth.DataTextField = "month";
drmonth.DataValueField = "monthID";
drmonth.DataSource = sdrselect;

drmonth.DataBind();
Author: CSchulz, 2013-08-21

9 answers

<asp:DropDownList ID="DdlMonths" runat="server">
    <asp:ListItem Enabled="true" Text="Select Month" Value="-1"></asp:ListItem>
    <asp:ListItem Text="January" Value="1"></asp:ListItem>
    <asp:ListItem Text="February" Value="2"></asp:ListItem>
    ....
    <asp:ListItem Text="December" Value="12"></asp:ListItem>
</asp:DropDownList>

Pode até usar um {[2] } que ignore este item e o considere como não seleccionado.

<asp:RequiredFieldValidator ID="ReqMonth" runat="server" ControlToValidate="DdlMonths"
    InitialValue="-1">
</asp:RequiredFieldValidator>
 11
Author: Tim Schmelter, 2013-08-21 10:35:56

Pode adicionar um valor vazio como:

ddlmonths.Items.Insert(0, new ListItem("Select Month", ""))

E basta adicionar uma validação para evitar a escolha em branco, como asp:RequiredFieldValidator.

 2
Author: 7alhashmi, 2013-08-21 10:37:40

Estas são todas grandes respostas se quiseres trabalhar tanto. Mas meu palpite é que você já tem os itens que você quer para a lista que vem de um elemento de banco de dados, e só quer adicionar ao topo dessa lista o "Hey, dude - pick um!" Opcao. Supondo que seja esse o caso...

Eis a resposta fácil. E funciona sempre...
  1. faça a sua lista de dados tal como planeou.
  2. então, em estúdio Visual, Edite os itens no dropdown,
  3. Adicionar Um ITEM MANUAL, Faça com que o seu "Seleccione um Item " escolha,
  4. se usar a janela de propriedades do item em VS2012, assinale-a como está seleccionada. Agora fecha essa janela.
  5. Agora, vá para a caixa de propriedades em estúdio Visual na mão esquerda inferior (certifique-se de que a dropdown é selecionada), e procure a propriedade "AppendDataBoundItems".
  6. ele vai ler falso, definir isto como verdadeiro.

Agora você vai receber uma gota para baixo com todos os seus itens de dados nele, precedido pelo seu "Seleccionar um Item" declaração feita no item manual. Tente dar-lhe um valor padrão se possível, isto irá eliminar quaisquer erros que você possa encontrar. O padrão é Zero, então se zero não é um problema, então deixe-o em paz, se zero é um problema, substitua o zero padrão no item por algo que não irá quebrar o seu código.

E pára de trabalhar tanto...é para isso que serve o Visual Studio.
 1
Author: Todd R. Hill, 2013-11-11 16:41:56
Tenta este.
    <asp:DropDownList ID="ddList" runat="server">
    <asp:ListItem Value="">--Select Month--</asp:ListItem>
    <asp:ListItem Value="1">January</asp:ListItem>
    <asp:ListItem Value="2">Feburary</asp:ListItem>
    ...
    <asp:ListItem Value="12">December</asp:ListItem>
    </asp:DropDownList>

O valor deve estar em branco para o listitem seleccionado por omissão, depois funciona bem

 1
Author: Asim, 2015-05-15 09:47:03
Diz que tens uma entrega chamada ddlMonths:
ddlMonths.Items.Insert(0,new ListItem("Select a month","-1");
 0
Author: Dimitar Dimitrov, 2013-08-21 10:35:42
De forma simples, não é possível. Porque DropdownList contém ListItem e será seleccionado por omissão

Mas, pode usar ValidationControl para isso:

<asp:RequiredFieldValidator InitialValue="-1" ID="Req_ID" Display="Dynamic" 
ValidationGroup="g1" runat="server" ControlToValidate="ControlID"
Text="*" ErrorMessage="ErrorMessage"></asp:RequiredFieldValidator>
 0
Author: Arshad, 2013-08-21 10:37:01
Podes tentar isto.

DdlMonths.Item.Inserir (0, novo ListItem ("Seleccionar","");

 0
Author: Subhash Jakhar, 2013-08-21 11:06:26
        Dim ListItem1 As New ListItem()
        ListItem1.Text = "put anything here"
        ListItem1.Value = "0"
        drpTag.DataBind()
        drpTag.Items.Insert(0, ListItem1)



 <asp:CompareValidator ID="CompareValidator1" runat="server"
   ErrorMessage="CompareValidator" ControlToValidate="drpTag" 
   ValueToCompare="0"></asp:CompareValidator>
 0
Author: JoshYates1980, 2015-02-13 20:27:28

Para adicionar itens à lista com o valor em asp.net usando c# Basta adicionar abaixo códigos, por exemplo:

        try
        {
            SqlConnection conn = new SqlConnection(conStr);
            SqlCommand comm = conn.CreateCommand();
            comm = conn.CreateCommand();
            comm.CommandText = "SELECT title,gid from Groups";
            comm.CommandType = CommandType.Text;
            conn.Open();
            SqlDataReader dr = comm.ExecuteReader();
            while (dr.Read())
            {
                dropDownList.Items.Add(new 
                ListItem(dr[0].ToString(),dr[1].ToString()));
            }
        }
        catch (Exception e)
        {
             lblText.Text = e.Message;
        }
        finally
        {
            conn.Close();
        }
 0
Author: moslem razyani, 2017-08-02 09:25:47