var list1 = dbContext.TruckTypes.Where(s => s.Status == "Active").ToList();
aTypeDropDownList.DataSource = list1;
aTypeDropDownList.DataTextField = "Name";
aTypeDropDownList.DataValueField = "Id";
aTypeDropDownList.DataBind();
错误:附加信息:' aTypeDropDownList'具有一个无效的SelectedValue,因为它在项目列表中不存在。
公共部分类TruckType { [System.Diagnostics.CodeAnalysis.SuppressMessage(" Microsoft.Usage"," CA2214:DoNotCallOverridableMethodsInConstructors")] public TruckType() { this.Requests = new HashSet(); this.Trucks = new HashSet(); }
public int Id { get; set; }
public string Name { get; set; }
public double Height { get; set; }
public double Width { get; set; }
public int MaxCapacity { get; set; }
public string ImagePath { get; set; }
public double LPriceKM { get; set; }
public double MPriceKM { get; set; }
public string Status { get; set; }
public string CreatedBy { get; set; }
public System.DateTime CreatedOn { get; set; }
public string UpdatedBy { get; set; }
public Nullable<System.DateTime> UpdatedOn { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Request> Requests { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Truck> Trucks { get; set; }
public virtual User User { get; set; }
}
答案 0 :(得分:1)
对具有数据库绑定值的SelectedValue
执行DropDownList
时,请确保您设置的值实际位于列表中。
示例,您的列表包含:
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
然后你执行SelectedValue = "8"
,这会导致错误,因为值8
不在列表中。
我真的希望你理解
答案 1 :(得分:0)
最后我弄明白了这个问题。 aTypeDropdownLis.text = string.Empty;
我在代码中推出了这一行。 删除后,程序正常工作。