我可以遍历Collection.Request.Form吗?

我有一些带有唯一ID的复选框。 是否有可能在表单集合中找到所有复选框+ uniquenum?

就像是 –

foreach (var item in Collection.Request.Form["checkbox" + with UniqueIDNum]) { //code } 

没有。

相反,您可以遍历所有键,并检查它们是否以checkbox开头。

例如:

 foreach(string key in Request.Form) { if (!key.StartsWith("checkbox")) continue; ... } 

NameValueCollection枚举器将键作为字符串返回。

或类似的东西

 var checkBoxes = Request.Form.Keys.Where(rs=>rs.StartsWith("dummy")); foreach(string key in checkBoxes){ // Your code } 

您应该能够使用Linq(这应该工作,尚未测试):我还假设复选框的ID是“checkbox [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(); } } } 

希望这可以帮助。