返回带前缀的FormCollection项目

问题描述:

如何返回带有特定前缀的项目中的键/值的FormCollection子集?我只能做钥匙,但我需要钥匙和价值。返回带前缀的FormCollection项目

感谢

试试这个(测试):

var form = Request.Form; 

var prefix = "prefix"; 

var asDictionary = form.Cast<string>() 
    .Where(key => key.StartsWith(prefix)) 
    .ToDictionary(key => key, key => form[key]) 
    .ToList(); 

假设 “形式” 是你的FormCollection,我会尝试使用LINQ做类似:


FormCollection subset = form.Where(x => x.Key.Contains("YourPrefix_")); 

我没有测试:)

而且,您可能需要更改.Contains()为.Substring(0,11)==“YourPrefix_”,具体取决于您的密钥的命名方式等。

+1

FormCollection不包含Where方法 – Jon 2009-07-10 14:30:03

+0

form.AsQueryable()。哪里(....)也许?此外,你需要有一个“使用System.Linq;”声明 – 2009-07-10 14:34:21