如何在 URL 中的 1 个变量下发送多个值?

问题描述 投票:0回答:1

如何在 URL 中的 1 个变量下发送多个值?这个变量可以有逗号、单引号等...

我在 DropDownList 中有一些混乱的虚构值(可能更多)。我想在 URL 中的 1 个变量下传递这 3 个值。我正在使用 ASCII 对 url 中的 &',/ 符号进行编码

  • 纽约市/布法罗
  • 医生、护士、医院
  • 红绿

如何在 URL 中指示新值即将开始?我不能使用逗号,因为单个值可以有多个逗号。我不能使用 & 符号 bc url 认为它是一个新变量

我尝试了这个,但是 url 中不允许使用 ^ 符号

 test.com/Value=New York City / Buffalo^Doctor's, Nurse's, hospital^Red & Green 
asp.net .net url
1个回答
0
投票

假设您可以访问表单和目标页面,构建一个自定义编码器,用其他内容替换 url(或查询字符串)中的任何无效字符,并在目标页面构建一个自定义解码器:

function encode(s as string) as string
    s= s.replace("&" , "@@@ampersand@@@")
    s= s.replace("^" , "@@@caret@@@")
    s= s.replace("/" , "@@@slash@@@")
    s= s.replace("|" , "@@@bar@@@")
    return s
end function

function decode(s as string) as string
    s= s.replace("@@@ampersand@@@" , "&")
    s= s.replace("@@@caret@@@" , "^")
    s= s.replace("@@@slash@@@" , "/")
    s= s.replace("@@@bar@@@" , "|")
    return s
end function

在您的表单页面中:

dim s as string= $"{string1}|{string2}|{string3}"
response.redirect("testcom/somepage.aspx/?value=" & encode(s))

在某个page.aspx中:

dim k as string= decode(request.querystring("value"))
dim a = k.split("|")
string1= a(0)
string2= a(1)
string3= a(2)
© www.soinside.com 2019 - 2024. All rights reserved.