Je souhaite ajouter une valeur à la liste déroulante qui ne peut pas être sélectionnée, par exemple un titre . Ex: j'ai une liste déroulante mensuelle. Le tout premier élément devrait être "sélectionner le mois" mais ne devrait pas être sélectionné. Et ensuite, de janvier à décembre. Comment puis je faire ça?
Et c'est mon code actuel.
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();
<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>
Vous pouvez même utiliser une RequiredFieldValidator
qui ignore cet élément, il le considère comme non sélectionné.
<asp:RequiredFieldValidator ID="ReqMonth" runat="server" ControlToValidate="DdlMonths"
InitialValue="-1">
</asp:RequiredFieldValidator>
Vous pouvez ajouter une valeur vide telle que:
ddlmonths.Items.Insert(0, new ListItem("Select Month", ""))
Et ajoutez simplement une validation pour éviter de choisir une option vide telle que asp:RequiredFieldValidator
.
Ce sont TOUTES les bonnes réponses si vous voulez travailler aussi dur. Mais je suppose que vous avez déjà les éléments souhaités pour la liste provenant d'un élément databound et que vous souhaitez uniquement ajouter en haut de cette liste le "Hé, mec, choisissez-en un!" option. En supposant que ce soit le cas ...
Voici la réponse facile. Et ça marche TOUJOURS ...
Vous obtiendrez maintenant un menu déroulant avec toutes vos données, précédé de votre déclaration "Sélectionner un article" dans l’article manuel. Essayez de lui donner une valeur par défaut si possible, cela éliminera toutes les erreurs que vous pourriez rencontrer. La valeur par défaut est zéro. Par conséquent, si zéro n'est pas un problème, laissez-le ainsi. Si zéro IS est un problème, remplacez le zéro par défaut dans l'élément par quelque chose qui ne plantera PAS votre code.
Et arrêtez de travailler si durement… C’est à cela que sert Visual Studio.
essaye celui-là
<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>
La valeur doit être vide pour l'élément de liste sélectionné par défaut, alors cela fonctionne correctement
Code VB:
Dim ListItem1 As New ListItem()
ListItem1.Text = "put anything here"
ListItem1.Value = "0"
drpTag.DataBind()
drpTag.Items.Insert(0, ListItem1)
Vue:
<asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator" ControlToValidate="drpTag"
ValueToCompare="0">
</asp:CompareValidator>
Tu peux essayer ça
your_ddl_id.Items.Insert(0,new ListItem("Select","");
Pour ajouter des éléments à la liste déroulante avec une valeur dans asp.net en utilisant c #, ajoutez simplement les codes ci-dessous, par exemple:
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();
}
Supposons que vous ayez une liste déroulante appelée ddlMonths
:
ddlMonths.Items.Insert(0,new ListItem("Select a month","-1");
De manière simple, ce n'est pas possible. Parce que DropdownList
contient ListItem
et il sera sélectionné par défaut
Mais vous pouvez utiliser ValidationControl
pour cela:
<asp:RequiredFieldValidator InitialValue="-1" ID="Req_ID" Display="Dynamic"
ValidationGroup="g1" runat="server" ControlToValidate="ControlID"
Text="*" ErrorMessage="ErrorMessage"></asp:RequiredFieldValidator>