是否可以将多个值传递给单个Querystring参数?这就是我的想法:
index.aspx=?loc=wi&loc=mi&loc=mn
或
for i = 1 to request.querystring("loc").count
'do some stuff here
next i
这样的事情。我相信我可以通过其他方式传递它们并可能爆炸内部内容(抱歉 - 分裂会更好.net术语)。但我宁愿这样做,我可以通过类似的代码轻松提取:
:accessToken
答案 0 :(得分:0)
试试这个
ArrayList arr = new ArrayList();
arr.Add(“file1″);
arr.Add(“file2″);
arr.Add(“file3″);
string arry = String.Join(“,”, ((string[])arr.ToArray(typeof(String))));
Response.Redirect(“index.aspx?file=” + arry);
答案 1 :(得分:0)
您可以在它们之间使用分隔符传递多个值。
C#
var locations = new List<string> { "wi", "mi", "mn" };
var locationsCommaSeparated = string.Join(",", files);
Response.Redirect("index.aspx?loc=" + locationsCommaSeparated);
VB
Dim locations = New List(Of String)() From { _
"wi", _
"mi", _
"mn" _
}
Dim locationsCommaSeparated = String.Join(",", files)
Response.Redirect("index.aspx?loc=" + locationsCommaSeparated)
在接收端,您可以将它们拆分出来。
C#
var locationsCommaSeparated = Request.QueryString["loc"].ToString();
var locations = locationsCommaSeparated.Split(',');
foreach(var location in locations)
{
//do something
}
VB
Dim locationsCommaSeparated = Request.QueryString("loc").ToString()
Dim locations = locationsCommaSeparated.Split(","C)
For Each location As var In locations
'do something
Next
注意,我是C#程序员,所以我使用自动代码转换器将其转换为VB。结果可能不是惯用的有效VB。
如果您传递的值包含您用作分隔符的字符,则需要小心谨慎。因为看起来你只是传递州缩写,所以在这个特定的例子中你应该是安全的。