我正在尝试使用以下C#代码绑定下拉列表:
var ctype = db.ComplaintTypes
.Select(r => new { r.ComplaintTypeID, r.Description })
.ToList();
ddlComplaintType.DataSource = ctype;
ddlComplaintType.DataTextField = "Description";
ddlComplaintType.DataValueField = "ComplaintTypeID";
ddlComplaintType.DataBind();
代码会填充下拉列表,但是索引计数会减少1。因此,ComplaintTypeID在数据表中的值为1,但是代码返回的值为0。这会导致应用因无效的ComplaintTypeID而崩溃。>
如果我添加ddlComplaintType.Items.Insert(0, "** Please Select**");
它有效,但是这导致我的aspx必需字段验证器不起作用。如何纠正代码以显示正确的数据值?