J'ai un dropdownlist1
qui a 6 éléments de collection dont Select One
. Ce que je veux, c'est que ce ddl est défini sur Selectedvalue
= null. Mais ce que je reçois, c’est que mon ddl sélectionne toujours Select One
comme valeur initiale. Mes propriétés ddl pour Select One
sont sélectionnées: false. Comment définir ce ddl sur la valeur initiale sélectionnée = null?
<asp:DropDownList ID="DropDownList1" runat="server" Visible="False" Width="146px">
<asp:ListItem>Ceiling Speaker</asp:ListItem>
<asp:ListItem>Remote Microphone</asp:ListItem>
<asp:ListItem>Digital Source Player</asp:ListItem>
<asp:ListItem>Remote paging Console</asp:ListItem>
<asp:ListItem>Modular Mixer</asp:ListItem>
<asp:ListItem>Select One</asp:ListItem>
</asp:DropDownList>
if (String.IsNullOrEmpty(txtSearchProductname.Text))
{
if (DropDownList1.SelectedValue == null)
{
txtProductName.Text = "";
}
else
{
SqlProductmaster.InsertParameters["ProductName"].DefaultValue = DropDownList1.SelectedValue.ToString();
}
}
else
{
SqlProductmaster.InsertParameters["ProductName"].DefaultValue = txtProductName.Text;
}
Vous pouvez ajouter un élément de valeur "vide":
<asp:DropDownList ID="DropDownList1" runat="server" Width="146px">
<asp:ListItem Selected="True"></asp:ListItem>
<asp:ListItem>Ceiling Speaker</asp:ListItem>
<asp:ListItem>Remote Microphone</asp:ListItem>
<asp:ListItem>Digital Source Player</asp:ListItem>
<asp:ListItem>Remote paging Console</asp:ListItem>
<asp:ListItem>Modular Mixer</asp:ListItem>
<asp:ListItem>Select One</asp:ListItem>
</asp:DropDownList>
Ensuite, vous vérifieriez
if (string.IsNullOrEmpty(DropDownList1.SelectedValue))
<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="true" runat="server">
<asp:ListItem Text="(Select a State)" Value="" />
<asp:ListItem>Ceiling Speaker</asp:ListItem>
<asp:ListItem>Remote Microphone</asp:ListItem>
<asp:ListItem>Digital Source Player</asp:ListItem>
<asp:ListItem>Remote paging Console</asp:ListItem>
<asp:ListItem>Modular Mixer</asp:ListItem>
<asp:ListItem>Select One</asp:ListItem>
</asp:DropDownList>
SelectedValue d'une liste déroulante ne serait jamais nulle. Ce pourrait être une chaîne vide, mais elle ne peut jamais être nulle ...
Il serait préférable de définir les éléments de cette façon
<asp:ListItem Text="Select One" Value=""></asp:ListItem>
De plus, SelectedValue
de la liste déroulante est une propriété de chaîne; il est donc préférable de vérifier la même chose en utilisant string.IsNullOrEmpty
car elle ne peut pas être null, laissez la valeur vide lorsque vous souhaitez la considérer comme nulle et répétez les mêmes valeurs dans les parties Text
et Value
Hera ajouter une valeur par défaut dans le lsit ...
<asp:DropDownList ID="DropDownList1" runat="server" Width="146px">
<asp:ListItem Selected="True">Select One</asp:ListItem>
<asp:ListItem>Ceiling Speaker</asp:ListItem>
<asp:ListItem>Remote Microphone</asp:ListItem>
<asp:ListItem>Digital Source Player</asp:ListItem>
<asp:ListItem>Remote paging Console</asp:ListItem>
<asp:ListItem>Modular Mixer</asp:ListItem>
<asp:ListItem>Select One</asp:ListItem>
mais essayez quelque chose comme item seleted au lieu de selectedvalue parce que vous n'avez pas de valeurs définies dans les éléments de la liste.
if (string.IsNullOrEmpty(DropDownList1.SeletedItem))
Pour la zone de texte aussi
txtProductName = DropDownList1.SeletedItem).ToString();
Faites en sorte que la valeur de sélection = "" soit vide et transmettez ceci à votre procédure stockée comme ceci
dt = ta.GetData(
String.IsNullOrEmpty(DropDownList1.SelectedValue)? null : DropDownList1.SelectedValue,
String.IsNullOrEmpty(DropDownList2.SelectedValue) ? null : DropDownList2.SelectedValue,
String.IsNullOrEmpty(DropDownList3.SelectedValue) ? null : DropDownList3.SelectedValue, null);