繁体   English   中英

如何从 NameValueCollection 的逗号分隔字符串中获取特定值?

[英]how to get a particular value from NameValueCollection's comma-delimited string?

我有一个 POST 请求

firstname=1&lastname=10&firstname=2&lastname=20&firstname=3&lastname=30.

然后我得到逗号分隔的名称和值列表

Request.Form["firstname"] // 1,2,3
Request.Form["lastname"] //10,20,30

似乎 NameValueCollection 不包含直接访问指定名字值的方法?

该任务看起来很标准,就像 ASP 中的 Request.Form 索引属性。

当然,我可以实现自定义帮助器枚举器或以某种方式简单地解析字符串,但我不确定是否有任何标准解决方案。

老实说,我更愿意直接访问每个名字-姓氏对,但我不能问不可能:)。

GetValues()将返回一个string[]

但是你怎么能指定第二个名字呢?

在这种情况下,它们并不具体。 所以你应该编写自己的辅助方法来获得你想要的。

或者将键替换为 firstname1、firstname2 之类的内容。

或者,如果您从单选列表控件或列表框控件中获取这些值,只需使用控件实例来获取值,我认为这是更好的解决方案。

拆分字符串,然后您将收到一个包含值的数组。

string[] firstnames = Request.Form["firstname"].Split(",");
string[] lastnames = Request.Form["lastname"].Split(",");

虽然我必须承认我觉得这有点丑陋的解决方案......这是脆弱的恕我直言。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM