如何在c#中找到名称以某个字符串开头的HTML元素的数量?

时间:2010-10-15 03:24:09

标签: c# asp.net

我不确定该主题是否能很好地描述我的问题,但我正在使用jQuery动态创建一些HTML元素(文本框),我永远不知道我将创建多少(它通过数据库循环)。然后我想要获取代码中的所有元素并执行一些操作(将它们插入另一个数据库)。

我知道我可以使用

string n = String.Format("{0}", Request.Form["hiddenField0"]).ToString();

要获得第一个文本框,但如果我不知道我创建了多少个文本框并想要它们呢?他们的名字以hiddenField加上递增的数字开头。

有没有办法遍历所有名称以某个字符串开头的元素?

提前致谢

1 个答案:

答案 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];
}