如何在查询字符串中传递多个参数

use*_*348 79 asp.net query-string

我有三个值,我必须作为参数传递给,例如strID,strNamestrDate.

我想将这三个参数重定向到另一个页面Response.Redirect().可以任何人为我提供正确的查询字符串吗?

var*_*tec 95

请求参数

(以下是维基百科条目的链接部分的文本.)

结构体

包含查询字符串的典型URL如下:

http://server/path/program?query_string

当服务器收到对此类页面的请求时,它会运行一个程序(如果配置为这样),将query_string不变地传递给程序.问号用作分隔符,不是查询字符串的一部分.

网页中的链接可能包含一个包含查询字符串的URL,但HTML定义了Web浏览器生成查询字符串的三种方式:

  • 通过...元素的Web表单
  • 通过带有构造的元素上的ismap属性的服务器端图像映射
  • 通过现在已弃用的元素进行索引搜索

网络表单

查询字符串的主要用途是包含HTML表单的内容,也称为Web表单.特别是,当提交包含字段field1,field2,field3的表单时,字段的内容将编码为查询字符串,如下所示:

field1=value1&field2=value2&field3=value3...

  • 查询字符串由一系列字段 - 值对组成.
  • 在每对中,字段名称和值由等号分隔.如果值为空字符串,则可以省略等号.
  • 这对系列由&符号分隔,'&'(或分号,';'用于嵌入在HTML中的URL,而不是由......生成;见下文).虽然没有明确的标准,但大多数Web框架允许多个值与单个字段关联:

field1=value1&field1=value2&field1=value3...

对于表单的每个字段,查询字符串包含一对field = value.Web表单可能包含用户不可见的字段; 提交表单时,这些字段包含在查询字符串中

该惯例是W3C的推荐.W3C建议除了和号分隔符[6]之外,所有Web服务器都支持分号分隔符,以允许HTML文档中的URL中的application/x-www-form-urlencoded查询字符串,而无需实体转义&符号.

从技术上讲,表单内容仅在表单提交方法为GET时编码为查询字符串.提交方法为POST时,默认使用相同的编码,但结果不会作为查询字符串发送,也就是说,不会添加到表单的操作URL中.而是将字符串作为HTTP请求的主体发送.


rAm*_*rAm 32

Query String: ?strID=XXXX&strName=yyyy&strDate=zzzzz
Run Code Online (Sandbox Code Playgroud)

在重定向之前:

string queryString = Request.QueryString.ToString();

Response.Redirect("page.aspx?"+queryString);
Run Code Online (Sandbox Code Playgroud)


Ank*_*bey 14

试试这样.它应该工作

Response.Redirect(String.Format("yourpage.aspx?strId={0}&strName={1}&strDate{2}", Server.UrlEncode(strId), Server.UrlEncode(strName),Server.UrlEncode(strDate)));
Run Code Online (Sandbox Code Playgroud)


Ada*_*lph 7

~mypage.aspx?strID=x&strName=y&strDate=z
Run Code Online (Sandbox Code Playgroud)


小智 5

可以使用以下方法完成:

Response.Redirect("http://localhost/YourControllerName/ActionMethodName?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3");
Run Code Online (Sandbox Code Playgroud)