从下拉列表中选择一个值,具体取决于Sql表中的值

时间:2011-12-07 23:25:53

标签: c# asp.net

在添加页面中,我有一个下拉列表,它有两个列表项M和F.我还有一个表存储下拉列表的值。在编辑页面中,我有相同的下拉列表和相同的列表项,我想根据存储在sql表中的值选择下拉列表(listitem)的值。 使用下面的代码我得到此错误:System.NullReferenceException:对象引用未设置为对象的实例。

.aspx代码

<asp:DropDownList ID="DriverGender" runat="server">
                        <asp:ListItem  >M</asp:ListItem>
                        <asp:ListItem >F</asp:ListItem>
                    </asp:DropDownList>

.aspx.cs代码

String SqlSelectDriverDetails = "SELECT * FROM driver WHERE driverID = @IdFromUrl";

            //Create SqlCommand object
            SqlCommand SqlComm = new SqlCommand(SqlSelectDriverDetails, DBConn);

            //Passing parameters to the sql query
            SqlComm.Parameters.Add("@IdFromUrl", SqlDbType.Int).Value = ID;

            //Creating DataReader object
            SqlDataReader DataReaderObj;
            DataReaderObj = SqlComm.ExecuteReader();

            //if the resultant is not empty
            while (DataReaderObj.Read())
            {

                string gender = (String)DataReaderObj["gender"];

DriverGender.Items.FindByValue((String)DataReaderObj["gender"]).Selected = true;
             }

1 个答案:

答案 0 :(得分:1)

尝试将列表项更改为:

<asp:ListItem Text="" Value=""></asp:ListItem>
<asp:ListItem Text="Male" Value="M"></asp:ListItem>
<asp:ListItem Text="Female" Value="F"></asp:ListItem>