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

q0qdq0h2  于 2022-11-19  发布在  .NET
关注(0)|答案(7)|浏览(222)

我有三个必须作为参数传递的值,例如strIDstrNamestrDate
我想将这三个参数重定向到Response.Redirect()中的另一个页面。有人能为我提供正确的querystring吗?

vsmadaxz

vsmadaxz1#

查询字符串(_S)
(以下是维基百科条目链接部分的文本。)
结构
包含查询字符串的典型URL如下所示:
http://server/path/program?query_string
当服务器收到对此类页的请求时,它将运行一个程序(如果已配置为执行此操作),并将未更改的query_string传递给该程序。问号用作分隔符,并且不是查询字符串的一部分。
网页中的链接可以具有包含查询字符串的URL,但是,HTML定义了Web浏览器可以生成查询字符串的三种方式:

  • 通过...元素创建Web表单
  • 通过元素上的ismap属性创建服务器端图像Map
  • 通过现在已弃用的元素进行索引搜索

Web表单

查询字符串的主要用途是包含HTML表单(也称为Web表单)的内容。特别是,当提交包含字段field 1、field 2、field 3的表单时,这些字段的内容将编码为查询字符串,如下所示:
field1=value1&field2=value2&field3=value3...

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

field1=value1&field1=value2&field1=value3...
对于表单的每个字段,查询字符串都包含字段=值对。Web表单可能包含用户不可见的字段;提交表单时,这些字段将包含在查询字符串中
这个惯例是W3C的建议。W3C建议所有的Web服务器支持分号分隔符和&分隔符[6],以允许application/x-www-form-urlencoded查询字符串在HTML文档的URL中,而不必对实体转义&。
从技术上讲,当表单提交方法为GET时,表单内容仅编码为查询字符串。当提交方法为POST时,默认情况下使用相同的编码,但结果不作为查询字符串发送,即不添加到表单的操作URL中。相反,字符串作为HTTP请求的正文发送。

kzipqqlq

kzipqqlq2#

Query String: ?strID=XXXX&strName=yyyy&strDate=zzzzz

重定向之前:

string queryString = Request.QueryString.ToString();

Response.Redirect("page.aspx?"+queryString);
dgenwo3n

dgenwo3n3#

这样试试应该可以

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

bvjveswy4#

这可以通过使用以下方法来实现:

Response.Redirect("http://localhost/YourControllerName/ActionMethodName?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3");
mec1mxoz

mec1mxoz5#

~mypage.aspx?strID=x&strName=y&strDate=z
xxhby3vn

xxhby3vn6#

我使用AbsoluteUri,您可以这样得到它:

string myURI = Request.Url.AbsoluteUri;
 if (!WebSecurity.IsAuthenticated) {
        Response.Redirect("~/Login?returnUrl="
            + Request.Url.AbsoluteUri );

登录后:

var returnUrl = Request.QueryString["returnUrl"];
 if(WebSecurity.Login(username,password,true)){
                Context.RedirectLocal(returnUrl);

对我来说效果很好。

zf9nrax1

zf9nrax17#

多个查询参数示例:

http://www.mywebsite.com/mycontroller/myaction?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3

相关问题