簡體   English   中英

將 Html.DropDownListFor 與 System.Linq.Enumerable 一起使用時,選擇/選項中沒有值屬性

[英]No value property in select/option when using Html.DropDownListFor with System.Linq.Enumerable

我有一個 Razor 頁面,其中包含以下代碼,用於創建每月 1 到 31 天的下拉列表。 下拉菜單在瀏覽器中正確呈現,但 HTML output 缺少 value 屬性(第一個選項除外,它是手動添加的)。

我怎樣才能讓它呈現 value 屬性?

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

渲染 Output:

<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>

這就是我最終做的事情:

Controller:

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

看法:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM