我有三个必须作为参数传递的值,例如strID、strName和strDate。我想将这三个参数重定向到Response.Redirect()中的另一个页面。有人能为我提供正确的querystring吗?
strID
strName
strDate
Response.Redirect()
vsmadaxz1#
查询字符串(_S)(以下是维基百科条目链接部分的文本。)结构包含查询字符串的典型URL如下所示:http://server/path/program?query_string当服务器收到对此类页的请求时,它将运行一个程序(如果已配置为执行此操作),并将未更改的query_string传递给该程序。问号用作分隔符,并且不是查询字符串的一部分。网页中的链接可以具有包含查询字符串的URL,但是,HTML定义了Web浏览器可以生成查询字符串的三种方式:
http://server/path/program?query_string
查询字符串的主要用途是包含HTML表单(也称为Web表单)的内容。特别是,当提交包含字段field 1、field 2、field 3的表单时,这些字段的内容将编码为查询字符串,如下所示:field1=value1&field2=value2&field3=value3...
field1=value1&field2=value2&field3=value3...
field1=value1&field1=value2&field1=value3...对于表单的每个字段,查询字符串都包含字段=值对。Web表单可能包含用户不可见的字段;提交表单时,这些字段将包含在查询字符串中这个惯例是W3C的建议。W3C建议所有的Web服务器支持分号分隔符和&分隔符[6],以允许application/x-www-form-urlencoded查询字符串在HTML文档的URL中,而不必对实体转义&。从技术上讲,当表单提交方法为GET时,表单内容仅编码为查询字符串。当提交方法为POST时,默认情况下使用相同的编码,但结果不作为查询字符串发送,即不添加到表单的操作URL中。相反,字符串作为HTTP请求的正文发送。
field1=value1&field1=value2&field1=value3...
kzipqqlq2#
Query String: ?strID=XXXX&strName=yyyy&strDate=zzzzz
重定向之前:
string queryString = Request.QueryString.ToString(); Response.Redirect("page.aspx?"+queryString);
dgenwo3n3#
这样试试应该可以
Response.Redirect(String.Format("yourpage.aspx?strId={0}&strName={1}&strDate{2}", Server.UrlEncode(strId), Server.UrlEncode(strName),Server.UrlEncode(strDate)));
bvjveswy4#
这可以通过使用以下方法来实现:
Response.Redirect("http://localhost/YourControllerName/ActionMethodName?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3");
mec1mxoz5#
~mypage.aspx?strID=x&strName=y&strDate=z
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);
对我来说效果很好。
zf9nrax17#
多个查询参数示例:
http://www.mywebsite.com/mycontroller/myaction?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3
7条答案
按热度按时间vsmadaxz1#
查询字符串(_S)
(以下是维基百科条目链接部分的文本。)
结构
包含查询字符串的典型URL如下所示:
http://server/path/program?query_string
当服务器收到对此类页的请求时,它将运行一个程序(如果已配置为执行此操作),并将未更改的query_string传递给该程序。问号用作分隔符,并且不是查询字符串的一部分。
网页中的链接可以具有包含查询字符串的URL,但是,HTML定义了Web浏览器可以生成查询字符串的三种方式:
Web表单
查询字符串的主要用途是包含HTML表单(也称为Web表单)的内容。特别是,当提交包含字段field 1、field 2、field 3的表单时,这些字段的内容将编码为查询字符串,如下所示:
field1=value1&field2=value2&field3=value3...
field1=value1&field1=value2&field1=value3...
对于表单的每个字段,查询字符串都包含字段=值对。Web表单可能包含用户不可见的字段;提交表单时,这些字段将包含在查询字符串中
这个惯例是W3C的建议。W3C建议所有的Web服务器支持分号分隔符和&分隔符[6],以允许application/x-www-form-urlencoded查询字符串在HTML文档的URL中,而不必对实体转义&。
从技术上讲,当表单提交方法为GET时,表单内容仅编码为查询字符串。当提交方法为POST时,默认情况下使用相同的编码,但结果不作为查询字符串发送,即不添加到表单的操作URL中。相反,字符串作为HTTP请求的正文发送。
kzipqqlq2#
重定向之前:
dgenwo3n3#
这样试试应该可以
bvjveswy4#
这可以通过使用以下方法来实现:
mec1mxoz5#
xxhby3vn6#
我使用AbsoluteUri,您可以这样得到它:
登录后:
对我来说效果很好。
zf9nrax17#
多个查询参数示例: