【发布时间】:2017-06-06 19:04:44
【问题描述】:
我有一个部分观点,我希望客户在使用复选框时进行选择。然后我希望在单击提交按钮时将所选项目的 ID 发送到控制器。控制器将重定向到验证视图。什么是好的、简单且安全的解决方案?如果可能的话,我想避免使用 Javascript。谢谢!
查看
@model OrderTracking.Models.ViewModel.ItemDataView
<div>
@using (Html.BeginForm("VerifyItem", "ReserveItem", FormMethod.Get))
{
//@Html.AntiForgeryToken() //TODO: Wire-up
<table class="table table-striped table-condensed table-hover">
<thead>
<tr>
<th></th>
<th>Item ID</th>
</tr>
</thead>
<tbody>
@foreach (var i in Model.ItemProfile)
{
<tr>
<td>@Html.CheckBoxFor(r => i.IsSelected, new { @class = "checkbox" })</td>
<td>@Html.DisplayFor(r => i.ItemId)</td>
</tr>
}
</tbody>
</table>
@Html.ActionLink("Verify Order Information", "VerifyOrderInfo", "ReserveItem", "", new { @class = "btn btn-primary btn-large" } )
}
型号
namespace OrderTracking.Models.ViewModel
{
public class ItemProfileView
{
[Key]
public int ItemId { get; set; }
public bool IsSelected { get; set; }
}
public class ItemDataView
{
public IEnumerable<ItemProfileView> ItemProfile { get; set; }
}
}
控制器
public ActionResult VerifyOrderInfo()
{
return View();
}
【问题讨论】:
-
您不能使用
foreach循环 - 请参阅 this answer 以绑定到集合(您需要为ItemId属性添加隐藏输入 -
感谢您的链接。这是非常有用的信息。
标签: asp.net-mvc checkbox selected