7
votes

C # Comment définir la valeur par défaut de la liste déroulante pour la sélectionnvalue = null

J'ai un dropdownlist1 code> comportant 6 éléments de collecte, y compris sélectionner un code>. Ce que je veux, c'est que ce DDL est défini sur SelectedValue code> = null. Mais ce que je reçois, c'est mon DDL sélectionnant toujours Sélectionnez une code> comme valeur initiale. Mes propriétés DDL pour Select One code> est sélectionnée: False. Comment définir ce DDL sur la valeur sélectionnée initiale = 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;
}


0 commentaires

7 Réponses :


2
votes

SelectedValue d'une liste déroulante ne serait jamais nulle. Cela pourrait être une chaîne vide, mais elle ne peut jamais être nulle ...


0 commentaires

3
votes

Vous pouvez ajouter une valeur "vide" élément: xxx

alors vous vérifieriez xxx


2 commentaires

J'ai fait comme vous l'avez dit, mais lorsque j'insère quelque chose dans TXTPRODUCTNAME, il n'est pas affiché dans le navigateur.


Cependant, c'est bizarre, mon problème à propos de cette question est résolu en remplaçant uniquement le TXTPRODUCTNAME.Text = ""; avec sqlproductmaster.inserparamètres ["ProductName"]. Defaultvalu E = TXTPRODUCTNAME.Text; Travailler comme charme cependant.



3
votes
<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>

1 commentaires

@Alex n'est toujours pas affiché.Vous voyez, mon DDL affecte d'une manière ou d'une autre affectation de texte TXTPRODUCTNAME. Il devrait d'abord afficher ce que je tape TxtproductName en premier. Devrais-je le laisser, et je sélectionne un élément DDL, puis sélectionnéeValue remplira. Ou, je peux laisser à la fois vide, obtenez toujours le résultat que je veux.



1
votes

Il serait préférable de définir les éléments de cette mode xxx

aussi SelectedValue de la liste déroulante est une propriété de chaîne afin de mieux vérifier la même manière utilisant string.isnullorempty Comme il ne peut pas être nul, laissez la valeur vide où vous souhaitez considérer cela comme null et répéter les mêmes valeurs dans le texte et valeur Pour d'autres


0 commentaires

0
votes

HERA ajoutez une valeur par défaut dans le LSIT ...

  txtProductName = DropDownList1.SeletedItem).ToString();


0 commentaires

-1
votes

Utilisez CANCELLECLECLECLULLPARAMETER = FALSE sur le SQLDatasource


0 commentaires

0
votes

faire la valeur Sélectionnez = "" qui est vide et transmettez-la à votre procédure stockée comme celle-ci xxx


0 commentaires