我在VB.net应用程序中的asp.net页面之间传递查询字符串。我通过执行以下操作来接收字符串:
Dim pagename_username As String = Request.QueryString("field1")
查询字符串由URL和user_id组成,并通过JavaScript发送。
然后通过执行以下操作将字符串拆分到VB页面中:
Dim parts As String() = pagename_username.Split(New String() {"|"}, StringSplitOptions.None)
Dim pagename As String = parts(0)
Dim username As String = parts(1)
这适用于以下查询字符串:
field1=http://**********/default.aspx|1
但是给出了以下查询字符串的数组错误的界限:
field1=http://**********/docstore/browse.aspx?docstoreid=0&docstoretypeid=2|1
我怀疑是第二根弦太长了?
如果是这样,我该如何解决?
如果没有,问题是什么?
答案 0 :(得分:3)
在查询字符串中,您可以通过'&'分隔参数标志。例如,以下查询字符串具有两个参数:
www.someurl.com?param1=1¶m2=2
在你的情况下:
FIELD1 = HTTP://**********/docstore/browse.aspx docstoreid = 0&安培; docstoretypeid = 2 | 1
请注意,分隔符(即“|”)位于第二个查询字符串参数中,即docstoretypeid
,并且不包含在field1
的值中。因此,当您调用Request.QueryString("field1")
时,您没有获得包含管道分隔符的完整字符串。这就是为什么,你的分裂失败了,你得到了例外。