Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何查找名称以c#中的某个字符串开头的HTML元素的数量?_C#_Asp.net - Fatal编程技术网

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

如何查找名称以c#中的某个字符串开头的HTML元素的数量?,c#,asp.net,C#,Asp.net,我不确定这个主题是否很好地描述了我的问题,但我正在使用jQuery动态创建一些HTML元素(文本框),我永远不知道我将创建多少(它在数据库中循环)。然后,我想将代码中的所有元素都隐藏起来,并执行一些操作(将它们插入另一个数据库) 我知道我可以用 string n = String.Format("{0}", Request.Form["hiddenField0"]).ToString(); 要获得第一个文本框,但如果我不知道我创建了多少个文本框,并且想要全部文本框,该怎么办?它们的名称以hid

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

我知道我可以用

string n = String.Format("{0}", Request.Form["hiddenField0"]).ToString();
要获得第一个文本框,但如果我不知道我创建了多少个文本框,并且想要全部文本框,该怎么办?它们的名称以hiddenField加上递增的数字开头

有没有一种方法可以循环遍历名称以某个字符串开头的所有元素

提前感谢

var dictionary=Request.Form.Keys
var dictionary = Request.Form.Keys
     .Cast<string>()
     .Where(x => x.StartsWith("abc"))
     .ToDictionary(x => x, x => Request.Form[x]);
.Cast() .其中(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];
}
字典键=新字典();
foreach(request.Form.Keys中的字符串键)
{
if(带“abc”的启动键)
key[key]=请求.表单[key];
}

+1击败我。:)我建议使用
BaseGetAllKeys
方法(如
Request.Form
NameValueCollection
)。保存强制转换,因为它返回一个
字符串[]
@RPM1984,我看到
BaseGetAllKeys
声明为
受保护
,no?Hi,我获取的'System.Collections.Specialized.NameObjectCollectionBase.KeyCollection'不包含'Cast'的定义,并且找不到接受'System.Collections.Specialized.NameObjectCollectionBase.KeyCollection'类型的第一个参数的扩展方法'Cast'(是否缺少using指令或程序集引用?)当你不想做的时候this@Morgan-你在运行什么版本的.NET?@Morgan,你有我最真诚的同情但是我更新了.NET2.0的答案。