VB.net 中的拆分查询字符串找不到分隔符
Split query string in VB.net doesn't find the delimiter
我在 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
我怀疑是第二个字符串太长了??
如果是,我该如何解决?
如果不是,是什么问题?
在查询字符串中,您用“&”符号分隔参数。例如,以下查询字符串有 两个 参数:
www.someurl.com?param1=1¶m2=2
你的情况:
field1=http://**********/docstore/browse.aspx?docstoreid=0&docstoretypeid=2|1
请注意,分隔符(即“|”)在第二个查询字符串参数中,即 docstoretypeid
,不包含在 field1
的值中。因此,当您调用 Request.QueryString("field1")
时,您不会获得包含竖线分隔符的完整字符串。这就是为什么您的拆分失败并且出现异常的原因。
我在 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
我怀疑是第二个字符串太长了??
如果是,我该如何解决?
如果不是,是什么问题?
在查询字符串中,您用“&”符号分隔参数。例如,以下查询字符串有 两个 参数:
www.someurl.com?param1=1¶m2=2
你的情况:
field1=http://**********/docstore/browse.aspx?docstoreid=0&docstoretypeid=2|1
请注意,分隔符(即“|”)在第二个查询字符串参数中,即 docstoretypeid
,不包含在 field1
的值中。因此,当您调用 Request.QueryString("field1")
时,您不会获得包含竖线分隔符的完整字符串。这就是为什么您的拆分失败并且出现异常的原因。