我有一个注册表单。我希望用户可以使用 html 中的选择列表来选择他们宠物的种族。所以我决定使用 Html.DropDownListFor() Html 助手。
在我的模型中:
public class PetModel
{
public long id { get; set; }
public short gender { get; set; }
public short type { get; set; }
public string name { get; set; }
public int raceID { get; set; }
public int birthYear { get; set; }
public int weight { get; set; }
public bool neutered { get; set; }
public IEnumerable<SelectListItem> raceList { get; set; }
}
我想填充raceList 的下拉列表,用户可以选择他们宠物的种族。
所以我为局部视图创建了一个控制器
public PartialViewResult _SignupPet(PetModel model)
{
model.raceList = entity.PetRaces.Select(w => new SelectListItem { Text = w.name, Value = w.id.ToString() });
return PartialView(model);
}
在我看来:
@Html.DropDownListFor(m=>m.raceID, Model.raceList)
但我收到了这个错误。
LINQ to Entities 无法识别方法“System.String ToString()”方法,并且该方法无法转换为存储表达式。
现在我想知道这个。我通常使用下拉列表来选择一个 id 并向用户显示文本而不是 id。我将如何在我的项目中使用这个 Html.DropDownListFor() 助手。我使用了错误的方法吗?