【问题标题】:Picking specific parts out of a query string从查询字符串中挑选特定部分
【发布时间】:2014-05-28 16:16:55
【问题描述】:

我有一个查询字符串,其中传递了多个值,我需要访问第二个传递的值...我现在有这个:

If Request.QueryString("ANBOS") IsNot Nothing Then

            Dim url As String = HttpContext.Current.Request.Url.AbsoluteUri
            Dim index As Integer = url.IndexOf("-")

            If index > 0 Then

                url = url.Substring(0, index)

            End If

            DBTable = MaterialStuff.GetComponentsForMaterial(CInt(Request.QueryString(url)))

我在这里尝试在我需要的第一个值之后使所有内容变哑,然后返回并查看它等于 ANBOS 的查询字符串并获取它的值,但是当我去获取它的值时,整个查询字符串仍然存在,两个值...

我怎样才能得到第一个值?非常感谢任何帮助:)

编辑:正在传递的查询字符串

Response.Redirect("Edit.aspx?ANBOS=" & CType(flxSearchResults.SelectedItem.Cells(1).Text, Integer) & "MaterialNumberToUpdate=" & NextMaterialID)

【问题讨论】:

  • Request.QueryString("ANBOS") 为您提供来自查询字符串的 ANBOS 的值。这就是你获得价值的方式。您不需要手动解析值。
  • 但是由于我通过查询传递的不仅仅是值,所以它会在 ANBOS 相等之后返回所有内容
  • 这不是 Request.QueryString 的工作方式。它只为您提供指定键的值。它们的键/值对应该用 & 符号分隔。也许您有一个错误的查询字符串,请更新您的问题以包含一个示例。
  • @mason 我在编辑中添加了我的查询字符串
  • 您生成的查询字符串不正确。您需要在字符串中使用 & 符号 来分隔键值对(如上所述)。

标签: asp.net vb.net query-string


【解决方案1】:

您的查询字符串生成不正确

Response.Redirect("Edit.aspx?ANBOS=" & CType(flxSearchResults.SelectedItem.Cells(1).Text, Integer) & "MaterialNumberToUpdate=" & NextMaterialID)

应该是..

Response.Redirect("Edit.aspx?ANBOS=" & CType(flxSearchResults.SelectedItem.Cells(1).Text, Integer) & "&MaterialNumberToUpdate=" & NextMaterialID)

这是因为查询字符串使用与号 (&) 分隔键值对。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    相关资源
    最近更新 更多