我有一些复选框与一个唯一的ID。是否有可能找到表单集合中的所有复选框+ uniquenum?我可以循环访问Collection.Request.Form吗?
像 -
foreach (var item in Collection.Request.Form["checkbox" + with UniqueIDNum])
{
//code
}
我有一些复选框与一个唯一的ID。是否有可能找到表单集合中的所有复选框+ uniquenum?我可以循环访问Collection.Request.Form吗?
像 -
foreach (var item in Collection.Request.Form["checkbox" + with UniqueIDNum])
{
//code
}
号
相反,你可以通过所有键循环,并检查它们是否开始checkbox
。
例如:
foreach(string key in Request.Form) {
if (!key.StartsWith("checkbox")) continue;
...
}
的NameValueCollection enumerator返回键作为字符串。
或者类似的东西
var checkBoxes = Request.Form.Keys.Where(rs=>rs.StartsWith("dummy"));
foreach(string key in checkBoxes){
// Your code
}
你应该能够使用LINQ做到这一点(这应该工作,没有测试过): 我也该复选框的ID是“复选框假设[ID]”。顺便说一句,重复的ID在表单字段是坏坏坏。
var checkboxes = (from key in Request.Form.AllKeys where key = "checkbox" + UniqueIDNum)
foreach(string key in checkboxes)
{
//do stuff
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection fc)
{
string a = fc["hdn_1"].ToString(); // if you know for sure that it will have a value.
string lbl_1 = null;
foreach (var key in fc.AllKeys)
{
if (key.Contains("txt_1"))
{
lbl_1 = fc["txt_1"].ToString();
}
}
}
希望这有助于。
为什么这会降低投票率? – SLaks 2011-01-26 17:38:13
不是由我...这是完美的!谢谢! – MrM 2011-01-26 17:44:12
@user:不客气。你应该接受这个答案。 – SLaks 2011-01-26 21:19:25