在添加页面中,我有一个下拉列表,它有两个列表项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;
}
答案 0 :(得分:1)
尝试将列表项更改为:
<asp:ListItem Text="" Value=""></asp:ListItem>
<asp:ListItem Text="Male" Value="M"></asp:ListItem>
<asp:ListItem Text="Female" Value="F"></asp:ListItem>