我有下拉列表,我想从视图中获取所选值并将其存储在控制器中的变量中,以便重复使用它。
这是我的代码:
Index.cshtml
@using (Html.BeginForm("Register", "Home", FormMethod.Post))
{
<table style="text-align: left; width: 900px; height: 160px;" border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 559px;">
<select id="select1" name="select1">
<option value="1">1 BAL Active</option>
<option value="2">2 BAL Actives</option>
<option value="3">3 BAL Actives</option>
<option value="4">4 BAL Actives</option>
<option value="5">5 BAL Actives</option>
<option value="6">6 BAL Actives</option>
</select>
</td>
</tr>
</tbody>
</table>
<button type="submit" class="btn btn-default">Register </button>
}
在我的控制器中,我添加了一个变量来获取所选值:
Controller.cs
var selectedOption = Request["select1"];
答案 0 :(得分:2)
您应该@Html.DropDownListFor
使用select1
。
这会将其绑定到ViewModel中的属性。
例如,
@Html.DropDownListFor(m => m.select1, m.SelectListOptions)
ViewModel将可用于您的Controller方法。
要为您的下拉列表填充选项,您需要创建SelectList
并使用SelectListItems
填充它。
答案 1 :(得分:1)
ApiController
中读取POST数据的更快但不推荐的方法是使用: -
HttpContext.Current.Request.FormRequest.Form["select1"]
。
有关使用情况的更多信息,请访问MSDN。