私はこれまで StackOverflow について質問したことがなく、したくもありませんでしたが、必死なので、ここに行きます: 保存された値をデフォルト値として表示したり、ドロップダウンに表示したりできません。
コントローラーでリストを設定しました。
public ActionResult Index()
{
//User Dropdown List
var users = Roles.GetUsersInRole("Manager");
SelectList list = new SelectList(users);
ViewBag.Users = list;
return View();
}
次に、ビューで管理者はこれらのユーザーのいずれかを選択し、EF を介してデータベースに保存できます。
@Html.DropDownList("Users", ViewBag.Users as SelectList, "--Select Manager--")
これはすべてうまく機能しますが、このエントリを編集するときに、リストの最初の名前ではなく、現在保存されているマネージャーをドロップダウン リストに表示する必要があります。編集アクションで、現在のマネージャーをデータベースから引き出して、デフォルトで選択された項目としてドロップダウンに戻すことができることを期待していましたが、うまくいきませんでした:
public ActionResult Edit(int id = 0)
{
var theOwner = (from v in _db.Location where v.LocationID == id select v.Owner).FirstOrDefault();
var users = Roles.GetUsersInRole("Manager");
SelectList list = new SelectList(users, theOwner);
ViewBag.Users = list;
過去 2 週間にわたって読んだすべての例から、ドロップダウン内で機能する 3 つの異なる値がすべての人にあり、SelectList メソッドですべてのオーバーロードを使用できるようになりました。ただし、私の問題は、この文字列リストに項目が 1 つしかないため、必要に応じてオーバーロードを利用できないことです。
それで、これをどのように機能させることができるかについて誰かが考えを持っていますか? これについてお時間をいただきありがとうございます。