[英]Why there is no SelectToArray method in 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.