C#如何为selectedValue = null设置dropDownList的默认值

时间:2011-06-23 07:07:54

标签: c# .net asp.net drop-down-menu

我的dropdownlist1有6个收集项,包括Select One。我想要的是这个ddl被设置为Selectedvalue = null。但我得到的是我的ddl始终选择Select One作为其初始值。我选择了Select One的ddl属性:false。如何将此ddl设置为初始选定值= 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;
}

7 个答案:

答案 0 :(得分:3)

您可以添加“空”值项目:

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

然后你会检查

if (string.IsNullOrEmpty(DropDownList1.SelectedValue))

答案 1 :(得分:3)

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

答案 2 :(得分:2)

下拉列表的SelectedValue永远不会为null。它可能是空字符串,但它永远不能为空...

答案 3 :(得分:1)

最好以这种方式设置项目

<asp:ListItem Text="Select One" Value=""></asp:ListItem>

Dropdown的SelectedValue也是一个字符串属性,所以最好使用string.IsNullOrEmpty检查相同,因为它不能为null,将值留空,将其视为null,并重复相同的值在其他人的TextValue部分

答案 4 :(得分:0)

Hera在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>

但尝试使用seleted item而不是selectedvalue,因为你没有在列表项中定义值..

    if (string.IsNullOrEmpty(DropDownList1.SeletedItem))  

对于文本框也是

  txtProductName = DropDownList1.SeletedItem).ToString();

答案 5 :(得分:0)

将select value =“”设为空,并将其传递给您的存储过程,如下所示

 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);

答案 6 :(得分:-1)

在SqlDataSource上使用CancelSelectOnNullParameter = False