C#从多个自定义复选框组获取控制器的值
在我的网站上有一些复选框属于2组 我想获得选中的复选框 这是我的控制器C#从多个自定义复选框组获取控制器的值,c#,asp.net-mvc,C#,Asp.net Mvc,在我的网站上有一些复选框属于2组 我想获得选中的复选框 这是我的控制器 [HttpGet] public ActionResult HireItem() { var HireItemListModel = new HireItemModel(); HireItemListModel = new HireItemModel() { first_name = Se
[HttpGet]
public ActionResult HireItem()
{
var HireItemListModel = new HireItemModel();
HireItemListModel = new HireItemModel()
{
first_name = Session["first_name"].ToString(),
middle_name = Session["middle_name"].ToString(),
last_name = Session["last_name"].ToString(),
ceremony_date = Session["ceremony_date"].ToString(),
};
var product = _productService.GetAllHireProducts();
if (product.Count != 0)
{
foreach (var proValue in product)
{
var productVarSeparateList = _productService.GetHireProductVariantsByProductIds(proValue.Id, false);
foreach (var HireProSep in productVarSeparateList)
{
var productVarSeparateModel = new HireItemModel.HireItemSeparatetModel()
{
pname = HireProSep.Name,
price =HireProSep.Price,
pId=HireProSep.Id,
};
HireItemListModel.HireItemSeparatetlist.Add(productVarSeparateModel);
}
var productVarSetList = _productService.GetHireProductVariantsByProductIds(proValue.Id, true);
foreach (var HireProset in productVarSetList)
{
var productVarListset = new HireItemModel.HireItemSetModel()
{
pname = HireProset.Name,
price = HireProset.Price,
pId = HireProset.Id,
};
HireItemListModel.HireItemSetList.Add(productVarListset);
}
}
}
return View(HireItemListModel);
}
[HttpPost,ActionName("HireItem")]
public ActionResult HireItem(string submitB)
{
var checkbox=Request.Form["HItemType"];
if (checkbox != "false")
{
var HireItemArray = Request.Form["chk_group"];
//This is the problem...
return RedirectToRoute("ShoppingCart");
}
else
{
return RedirectToRoute("hire");
}
}
这是我的第一个局部观点
<table >
@foreach (var item in Model)
{
var val = item.pId;
<tr>
<td>
<input type="checkbox" name="chk_groupSet" value="@val" />
</td>
<td>
@Html.DisplayFor(modelItem => item.pname)
</td>
<td>
@Html.DisplayFor(modelItem => item.price)
</td>
<td>
@Html.DisplayFor(modelItem => item.pId)
</td>
</tr>
}
</table>
@foreach(模型中的var项目)
{
var val=item.pId;
@DisplayFor(modelItem=>item.pname)
@DisplayFor(modelItem=>item.price)
@DisplayFor(modelItem=>item.pId)
}
这是我的另一部分观点
<table >
@foreach (var item in Model)
{
var val = item.pId;
<tr>
<td>
<input type="checkbox" name="chk_group" value="@val" />
@* @Html.CheckBox("separateHireItem",""+item.pId )*@
@*<input type="checkbox" name="sItem" value="sItem" />*@</td>
<td>
@Html.DisplayFor(modelItem => item.pname)
</td>
<td>
@Html.DisplayFor(modelItem => item.price)
</td>
<td>
@Html.DisplayFor(modelItem => item.pId)
</td>
</tr>
}
</table>
@foreach(模型中的var项目)
{
var val=item.pId;
@*@Html.CheckBox(“separateHireItem”,“item.pId”)*@
@**@
@DisplayFor(modelItem=>item.pname)
@DisplayFor(modelItem=>item.price)
@DisplayFor(modelItem=>item.pId)
}
我的问题是我得到了流动的产出
我想获取选中复选框的值 在我看来,这篇文章返回了一个HItemType数组。我建议您在HireItem操作中使用FormCollection作为参数,这对于查看
HireItemListModel
的结构也很有用。出于兴趣,\u productService.GetAllHireProducts()
为什么不将租用项目列表完全水合以发送到视图,而不是在控制器操作中加载额外的数据?