データベースからの値をビューのドロップダウンにバインドしようとしています。エンティティフレームワークを使用したMVCでのデータベースからドロップダウンへの値のバインド
ビューのドロップダウンリストにデータベース値を表示する必要があります。私は電子メールIDをデータベーステーブルからドロップダウンにバインドしようとしています。
ここで、メールIDをドロップダウンに追加する必要があります。これは私のモデルである、
public class UserDetails
{
public List<SelectListItem> Userdetails { get; set; }
public string Email { get; set; }
}
これは私のコントローラで、
public ActionResult Admin()
{
var db = new DataEntities1();
var query = db.tblEmployees.Select(c => new { c.Email });
ViewBag.Categories = new SelectList(query.AsEnumerable(), "CategoryID", "CategoryName");
return View();
}
これは、ビューがドロップダウンし、データベースからの値がロードされます
@model List<MVC_Sample.Models.UserDetails>
<div class="dropdown">
@Html.DropDownList("CategoryID", (SelectList)ViewBag.Categories, "--Select One--")
</div>
、私の見解です。しかし、残念ながら、私はドロップダウン値を追加することができません。私はどこでここで間違っていたのですか?誰もがこの上で私を助けることができます。..
??:あなたはに
を変更する必要があります –
'SelectList'として渡すテキストと値フィールドとして' Email'ではなく 'CategoryID'と' CategoryName'を確認していますか?おそらくあなたは 'ViewBag.Categories = new SelectList(query.AsEnumerable()、" Email "、" Email ");'を使いたいでしょう。 –
あなたのモデルをビューに戻すことさえできず、 '@model List'はまったく意味がありません。複数のドロップダウンを作成したいですか(それぞれの 'UserDetails'に対して1つ)?そして、あなたはクエリが意味をなさない - それは1つのプロパティを返すだけで、プロパティは 'CategoryID'と' CategoryName'を含んでいません。ここで何をしようとしていますか? –