サインアップフォームがあります。ユーザーが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() ヘルパーを使用するにはどうすればよいですか。私は間違ったアプローチを使用していますか?