代码之家  ›  专栏  ›  技术社区  ›  Oleg Sh

ASP.NET核心:标记帮助程序“选择”为空

  •  0
  • Oleg Sh  · 技术社区  · 7 年前

    我需要一个选择元素的视图。我有以下VM类:

    public class EditTicketVM
    {
        public EditTicketVM()
        {
            Statuses = new SelectList(new List<SelectListItem>{
                new SelectListItem("Open", "open"),
                new SelectListItem("Pending", "pending"),
                new SelectListItem("Hold", "hold"),
                new SelectListItem("Solved", "solved"),
                new SelectListItem("Closed", "closed"),
            });
    
        }
    
        public string Description { get; set; }
        public string Subject { get; set; }
        public string Status { get; set; }
    
        public SelectList Statuses { get; set; }
    }
    

    <select asp-for="Status" class="form-control" asp-items="Model.Statuses" />
    

    但在结果页上,此元素为空:

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  8
  •   TanvirArjel    7 年前

    我已经在我这边测试了你的代码。问题出在你身上 select 标签您正在使用自动关闭选择标记。这是行不通的。按如下方式编写选择标记:

    <select asp-for="Status" class="form-control" asp-items="Model.Statuses">
       <option value="">Select Status</option>
    </select>
    

    SelectList 初始化。初始化的方式 这是行不通的。初始化您的 选择列表 详情如下:

    public EditTicketVM()
    {
       Statuses = new SelectList(new List<SelectListItem> {
           new SelectListItem(){Text = "Open", Value = "open"},
           new SelectListItem(){Text = "Pending", Value = "pending"},
           new SelectListItem(){Text = "Hold", Value = "hold"},
           new SelectListItem(){Text = "Solved", Value = "solved"},
           new SelectListItem(){Text = "Closed", Value = "closed"},
        },"Value","Text");
    }
    
    推荐文章