[英]MVC View-Unable to populate list in the select drop down
我正在嘗試在razor page 中實現一個簡單的選擇下拉菜單。 我不確定我是否錯過了任何東西,下拉菜單根本沒有填充。 僅出於演示目的,我使用硬編碼的字符串值來填充下拉列表。
我有一個名為帖子的列表。
var posts = new List<BlogDetails>();
posts.Add(
new BlogDetails {
Id = 1,
Author = "Charles",
Title = "Finding Charles",
Body = "This is a great blog post",
PostedOn = DateTime.Now
});
ViewBag.listOfItems = posts;
return View();
在Index.cshtml
我嘗試使用此列表填充下拉列表。
<select asp-for="Id" asp-items="@(new SelectList(ViewBag.listOfItems, "Id", "Author"))">
<option>Please select one</option>
</select>
我不知道原因,它不起作用。 當我實際查看為此下拉列表生成的 HTML 時,我能夠看到該列表根本沒有被處理。
誰能幫我弄清楚我錯過了什么?
列表未呈現,因為未啟用標簽助手。 檢查是否直接在 Views 文件夾下的_ViewImports.cshtml
添加以下行
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
控制器
var posts = new List<BlogDetails>();
posts.Add(
new BlogDetails {
Id = 1,
Author = "Charles",
Title = "Finding Charles",
Body = "This is a great blog post",
PostedOn = DateTime.Now
});
ViewBag.listOfItems = new SelectList(posts, "Id", "Author");
return View();
剃刀
@Html.DropDownListFor(model => model.post, (IEnumerable<SelectListItem>)ViewBag.listOfItems, "--Select Post--", new { @class = "form-control" })
或者你可以試試這個
<select>
@foreach(var item in ViewBag.listOfItems)
{
<option value="@item.Id">@item.Author<option>
}
</select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.