C# 在复选框的值中使用模型的实例
我试图在复选框的C# 在复选框的值中使用模型的实例,c#,asp.net-mvc,C#,Asp.net Mvc,我试图在复选框的value标记内使用object的实例,这似乎不起作用 我的视图代码: @using (@Html.BeginForm("Purchase", "Upload")) { foreach (var pic in Model) //pic is my class, Picture { <input type="checkbox" style="float: none" class="bootstrap-checkbox btn.btn-large
value
标记内使用object的实例,这似乎不起作用
我的视图代码:
@using (@Html.BeginForm("Purchase", "Upload"))
{
foreach (var pic in Model) //pic is my class, Picture
{
<input type="checkbox" style="float: none" class="bootstrap-checkbox btn.btn-large" value="@pic" name="purchasedItems">
}
<input type="submit"/>
}
@使用(@Html.BeginForm(“购买”、“上传”))
{
foreach(模型中的var pic)//pic是我的类,Picture
{
}
}
控制器代码:
[HttpPost]
public ActionResult Purchase(IEnumerable<Picture> purchasedItems)
{
//My collection is empty here
}
[HttpPost]
公共行动结果购买(IEnumerable purchasedItems)
{
//我这里的藏品是空的
}
如果我使用pic.Id
并接收一个整数数组而不是图片集合,那么一切都正常
使用Id而不是对象本身是更好的方法吗?还是应该使用object并以某种方式修复代码?您可以使用表单集合从非标准控件检索值:
public ActionResult EditProgramTemplateLines(FormCollection formCollection)
{
for(var i=0; i< chkArrayLength; i++)
{
var chkId = formCollection.GetValues(i); // [1,2,3,4]
...
}
}
公共操作结果编辑程序模板行(FormCollection FormCollection)
{
对于(var i=0;ipublic ActionResult EditProgramTemplateLines(FormCollection formCollection)
{
for(var i=0; i< chkArrayLength; i++)
{
var chkId = formCollection.GetValues(i); // [1,2,3,4]
...
}
}
公共操作结果编辑程序模板行(FormCollection FormCollection)
{
对于(var i=0;iforeach (var pic in Model)
{
@Html.CheckboxFor(i => pic, new { @class = "bootstrap-checkbox btn.btn-large" });
}
然后让控制器定期处理它。您可以使用
foreach (var pic in Model)
{
@Html.CheckboxFor(i => pic, new { @class = "bootstrap-checkbox btn.btn-large" });
}
然后让控制器定期处理它。是的,最好发送ID列表,而不是对象本身的列表,原因有两个:
是的,发送ID列表而不是对象本身的列表更好,主要原因有两个:
部分(i=>pic)不起作用,因为pic类型不同于model@Anarion这两个模型有什么不同?视图的模型是List,pic是的实例Picture@Anarion因此,模型是
List
,控制器接受IEnumerable
?我想我会同意@jony89的答案。谢谢。这个部分(i=>pic)不起作用,因为pic类型不同于model@Anarion这两个模型有什么不同?视图的模型是List,pic是的实例Picture@Anarion因此,模型是List
,控制器接受IEnumerable
?我想我会同意@jony89的答案。谢谢。我得到的是字符串数组而不是对象数组。@Anarion得到字符串数组是有意义的,因为你不是真正绑定任何东西,而是在集合中循环。我得到的是字符串数组而不是对象数组。@Anarion得到字符串数组是有意义的,因为你不是真正绑定对象绑定任何内容,但不在集合中循环。