【问题标题】:No value property in select/option when using Html.DropDownListFor with System.Linq.Enumerable将 Html.DropDownListFor 与 System.Linq.Enumerable 一起使用时,选择/选项中没有值属性
【发布时间】:2020-12-05 04:08:49
【问题描述】:

我有一个带有以下代码的 Razor 页面,用于创建每月 1 到 31 天的下拉菜单。下拉菜单在浏览器中正确呈现,但 HTML 输出缺少 value 属性(第一个选项除外,它是手动添加的)。

如何让它渲染 value 属性?

@Html.DropDownListFor(model => model.Day, new SelectList(System.Linq.Enumerable.Range(1, 31)), string.Empty, new { @class = "form-control" })

渲染输出:

<select class="form-control" data-val="true" id="Day" name="Day">
    <option value=""></option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
    <option>7</option>
    <option>8</option>
    <option>9</option>
    <option>10</option>
    <option>11</option>
    <option>12</option>
    <option>13</option>
    <option>14</option>
    <option>15</option>
    <option>16</option>
    <option>17</option>
    <option>18</option>
    <option>19</option>
    <option>20</option>
    <option>21</option>
    <option>22</option>
    <option>23</option>
    <option>24</option>
    <option>25</option>
    <option>26</option>
    <option>27</option>
    <option>28</option>
    <option>29</option>
    <option>30</option>
    <option>31</option>
</select>

【问题讨论】:

  • @RyanWilson System.Linq.Enumerable.Range(1, 31).Select(z =&gt; new SelectListItem(z.ToString(), z.ToString()).ToList() 未编译。我将其更改为Enumerable.Range(1, 31).Select(t =&gt; new SelectListItem(t.ToString(), t.ToString())).ToList();,现在它在下拉imgur.com/a/SYVpF9P中显示选择列表项的type

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


【解决方案1】:

这就是我最终做的:

控制器:

ViewBag.Days = Enumerable.Range(1, 31).Select(t =&gt; new { Value = t, Text = t });

查看:

@Html.DropDownListFor(model =&gt; model.Day, new SelectList(ViewBag.Days, "Value", "Text"), string.Empty, new { @class = "form-control" })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多