[英]How i can iterate over items in form Asp.net MVC3
我在我的应用程序中遇到问题我正在使用带有剃刀的MVC 3,我希望在表单中获取复选框的值
@using (Html.BeginForm("ConfirmItemAvilabilty", "Order", FormMethod.Post, new { id = "frmConfirmAvilabilty", name = "frmConfirmAvilability" }))
{
foreach (OrderItem orderItem in orderAction.Order.OrderItems)
{
<div class="product">
<ul>
<li>
<div class="productImg">
<img src="@orderItem.Product.Image" width="100px" height="100px"/>
</div>
<div class="centered">
<a href="@orderItem.Product.Link" target="_blank">Link</a> <span>@orderItem.Product.TitleAr</span>
<span>@orderItem.Product.Price</span>
</div>
@if (currentUser.UserTypeEnum == UserTypeEnum.Reseller)
{
<div>
@Html.CheckBox("ChkConfirm", orderItem.IsAvailable, new { id="chkConfirm" ,@class="chkConfirm"})
@Html.Hidden("OrderItemId", orderItem.Id, new { id="hdnConfirm"})
</div>
}
</li>
</ul>
</div>
}
if (currentUser.UserTypeEnum == UserTypeEnum.Reseller)
{
<button>Confirm</button>
}
}
只是我想得到所有选中复选框的值我试图创建一个模型,其中包含我的复选框的值和它下面的隐藏文本的值
public class ItemOrderModel
{
public string ChkConfirm { get; set; }
public string OrderItemId { get; set; }
}
在我的控制器中我做了以下但没有发生任何事情
public ActionResult ConfirmItemAvilabilty(List<ItemOrderModel> OrderItems)
{
return View();
}
但orderItems总是返回null,任何人都可以帮助我吗?
-----------------编辑------------------谢谢Sam和Jesse
我为我的问题找到了解决方案,但我现在面临另一个问题首先我通过在模型视图中更改来解决我的问题
public class ItemOrderModel
{
public List<bool> ChkConfirms { get; set; }
public List<string> OrderItemId { get; set; }
}
并将复选框名称更改为
@Html.CheckBox("ChkConfirms", orderItem.IsAvailable, new { id = "chkConfirm", @class = "chkConfirm" })
现在的问题是,当我提交时,我发现两个值为false,这是我的复选框和两个ID的实际表示,这也是我隐藏字段“正确场景”的实际表示,当我检查其中一个复选框时,我发现3复选框的结果和隐藏字段的2个结果任何人都可以帮助或有解决方案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.