我不确定该主题是否能很好地描述我的问题,但我正在使用jQuery动态创建一些HTML元素(文本框),我永远不知道我将创建多少(它通过数据库循环)。然后我想要获取代码中的所有元素并执行一些操作(将它们插入另一个数据库)。
我知道我可以使用
string n = String.Format("{0}", Request.Form["hiddenField0"]).ToString();
要获得第一个文本框,但如果我不知道我创建了多少个文本框并想要它们呢?他们的名字以hiddenField加上递增的数字开头。
有没有办法遍历所有名称以某个字符串开头的元素?
提前致谢
答案 0 :(得分:8)
var dictionary = Request.Form.Keys
.Cast<string>()
.Where(x => x.StartsWith("abc"))
.ToDictionary(x => x, x => Request.Form[x]);
返回一个字典,其中包含以“abc”开头的所有表单元素的键/值。
更新:糟糕的OP正在使用.Net 2.0。所以这是老派的回答:
Dictionary<string, string> keys = new Dictionary<string, string>();
foreach (string key in request.Form.Keys)
{
if (key.StartsWith("abc"))
keys[key] = request.Form[key];
}