'ddlCaseFiles'有一个SelectedValue,它是无效的,因为它在项目列表中不存在。参数名称:value

时间:2012-10-03 13:52:04

标签: asp.net stored-procedures drop-down-menu

我有一个存储过程,它返回一堆FileIds,名称等。我有一个DropDownList,我已经禁用了,我将FileID放在DropDownList中,这样它就是下拉列表中的唯一值。但我一直在标题中得到错误。 这就是我所拥有的:

try
    {
        conn.Open();
        var reader = cmd.ExecuteReader();
        if (reader.HasRows)
        {
            reader.Read();
            ddlCaseFiles.SelectedValue = reader["FileID"].ToString();//ddl never gets the fileID assigned.
            ddlCaseFiles.Enabled = false;
            txtTimeTrackerDate.Value = reader["TBDate"].ToString();

        }
    }

1 个答案:

答案 0 :(得分:2)

如果您尝试将新项目添加到ddlCaseFiles,则:

ddlCaseFiles.Items.Add(new ListItem(reader["FileID"].ToString()));

检查ddlCaseFiles中是否存在该值:

if (ddlCaseFiles.Items.FindByValue(reader["FileID"].ToString()) != null)
{
  ddlCaseFiles.SelectedValue = reader["FileID"].ToString();
}