如何返回查询字符串的第一个值(如果它有多个值)
本文关键字:如果 第一个 字符串 何返回 返回 查询 | 更新日期: 2023-09-27 18:34:17
考虑一个这样的网址:
http://host.com?q=1&o=2&q=1
如果我运行Request.QueryString["q"]
,我会得到两次值。
如果我跑Request.QueryString["q"].FirstOrDefault().ToString()
我似乎得到"2"
如果查询字符串有多个值,如何返回它的第一个值?
不确定微软如何处理这件事,我可以看到的是,如果我们传递具有多个值的相同键,那么 .NET 框架将值视为逗号分隔字符串,
即
如果查询类似于"?q=10&o=2&q=11"
然后
Request.QueryString["q"] == "10,11"
获取第一个值的唯一方法是拆分逗号。
Request.QueryString["q"].Split(',')[0]
如果有人有同样的问题。试试这个: Request.QueryString.GetValues("q")?.FirstOrDefault();
var count=0;
var twince=string.Empty;
foreach(var item in Request.QueryString["q"])
{
twince=item;
count++;
if(count==2)
break;
}
或
var twince=Request.QueryString["q"].Split(',')[1];
或
var first=QueryString["q"].FirstOrDefault;
var twince=Request.QueryString["q"].FirstOrDefault(frs=>frs!=first);