2011-09-28 194 views
0

我有一个循环,与复选框生成项目列表来选择@ HTML.CheckBoxFor()MVC 3.0问题?

foreach(var i in item) 
{ 
    @Html.CheckBoxFor(x=>i.Checked) 
    @Html.labelfor(x=>i.price) 
} 

我有3个项目。所以本步骤是下面的代码三次

<input id="paid" name="paid" value="true" type="checkbox"> 
<input name="paid" value="false" type="hidden"> 

现在,当我尝试访问我的控制器

string[] paid = Request.Form["paid"].split(',');  

检查的价格我应该得到的3个值真/假,不管多的价格是如何用户检查

相反,它会返回3+与用户选中一样多。假设用户在我的控制器中检查一个价格。我将收到3 + 1 = 4个真/假值。

我该如何摆脱这个问题?

+0

所有我想要实现的是:如果用户检查3价格列表中的第一个价格。我想在控制器中访问这个价格。 – HaBo

回答

0

我认为你要找的是这篇文章。 http://forums.asp.net/t/1314753.aspx

+0

一定程度上相同。但IT不止于此。我需要的是,如果我的循环呈现4个复选框,那么我只需要4个真/假值到我的控制器,只不过是。但现在我得到它与一个ArralyList复制的字符串数组和if(条件)。我相信这不是一个正确的做法。 – HaBo