【发布时间】: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 => new SelectListItem(z.ToString(), z.ToString()).ToList()未编译。我将其更改为Enumerable.Range(1, 31).Select(t => new SelectListItem(t.ToString(), t.ToString())).ToList();,现在它在下拉imgur.com/a/SYVpF9P中显示选择列表项的type
标签: c# html linq asp.net-core asp.net-core-mvc