在VB.net中拆分查询字符串并没有找到分隔符

时间:2015-01-22 12:01:07

标签: asp.net arrays vb.net string split

我在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

我怀疑是第二根弦太长了?

如果是这样,我该如何解决?

如果没有,问题是什么?

1 个答案:

答案 0 :(得分:3)

在查询字符串中,您可以通过'&'分隔参数标志。例如,以下查询字符串具有两个参数:

  

www.someurl.com?param1=1&param2=2

在你的情况下:

  

FIELD1 = HTTP://**********/docstore/browse.aspx docstoreid = 0&安培; docstoretypeid = 2 | 1

请注意,分隔符(即“|”)位于第二个查询字符串参数中,即docstoretypeid,并且不包含在field1的值中。因此,当您调用Request.QueryString("field1")时,您没有获得包含管道分隔符的完整字符串。这就是为什么,你的分裂失败了,你得到了例外。