【问题标题】:Multiple Options in Dynamic Dropdown动态下拉菜单中的多个选项
【发布时间】:2018-11-21 02:32:07
【问题描述】:

当使用 ViewData 作为下拉列表时,拥有多个选项的最佳方法是什么。像这样

我正在使用: ViewData["LocationId"] = new SelectList(_context.Location, "LocationId", "Address", employees.LocationId); 它只显示地址,但我需要它: 城市 地址 城市、州、邮政

在前端我这样称呼它: <select asp-for="LocationId" asp-items="ViewBag.LocationId">

这可以使用 ViewData 和 selectList 来完成吗?

谢谢!

【问题讨论】:

    标签: c# asp.net-core-mvc


    【解决方案1】:

    只需更改为

    ViewBag.LocationId = new SelectList(_context.Location, "LocationId", "Address", employees.LocationId);
    

    或者如果你真的想使用 ViewData

    @{
        ...
        var items = ViewData["LocationId"] as IEnumerable<Microsoft.AspNetCore.Mvc.Rendering.SelectListItem>;
    }
    
    <select asp-for="LocationId" asp-items=@items></select>
    

    我推荐阅读 What's the difference between ViewData and ViewBag?

    但这并不是真正推荐的填充视图的方法。您应该改用 ViewModel,它允许您专门定义您的视图要求。这是 ViewModel 的示例:MVC6 Dropdownlist of Countries

    【讨论】:

    • 后者看起来是更好的方法,即 ViewModel 方法。谢谢!
    猜你喜欢
    • 2015-03-28
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    • 2020-02-10
    • 2018-04-01
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    相关资源
    最近更新 更多