如下所示,
@{
if (IsPost){
var someValue = Request.Form["item"];
}
}
<form class="form-horizontal" method="post" action="@Url.Content("~/Home/Index")">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
Action <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li class="dropdown-header">Items</li>
@foreach (var item in @Model)
{
<li><a href="#" name="item" id="selectedItem">@item</a></li>
}
</ul>
<input type="submit" name="submit" value="Submit" />
</div>
</form>
发生的问题是数据未传递给selectedItem
的控制器。
例如,
public ActionResult Index(string item){
return View();
}
item
返回null,因此似乎没有传递该值。如何以包含下拉列表的形式将信息从View传递到Controller。基本上,我希望选择下拉项目传递给控制器。
答案 0 :(得分:0)
<a>
链接会触发GET
次请求,而非POST
次请求,因此您的this.Request.Form
将始终为空。
使用查询字符串。值由this.Request.QueryString
访问:
@foreach(var item in @Model) {
<li><a href="?item=@item">@item</a></li>
}