Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在查询字符串中传递多个参数_Asp.net_Query String - Fatal编程技术网

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

Asp.net 如何在查询字符串中传递多个参数,asp.net,query-string,Asp.net,Query String,我有三个值必须作为参数传递,例如,strID、strName和strDate 我想将这三个参数重定向到Response.redirect()中的另一个页面。有人能为我提供正确的查询字符串吗? ~mypage.aspx?strID=x&strName=y&strDate=z (以下是维基百科条目链接部分的文本。) 结构 包含查询字符串的典型URL如下所示: http://server/path/program?query_string 当服务器收到这样一个页面的请求时,它运行一个

我有三个值必须作为参数传递,例如,
strID
strName
strDate

我想将这三个参数重定向到
Response.redirect()
中的另一个页面。有人能为我提供正确的查询字符串吗?

~mypage.aspx?strID=x&strName=y&strDate=z
(以下是维基百科条目链接部分的文本。)

结构 包含查询字符串的典型URL如下所示:

http://server/path/program?query_string

当服务器收到这样一个页面的请求时,它运行一个程序(如果配置为这样做的话),将查询字符串原封不动地传递给该程序。问号用作分隔符,不是查询字符串的一部分

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

  • 通过。。。元素
  • 通过的服务器端映像映射​ismap​ 具有构造的元素上的属性
  • 通过现在已弃用的元素进行索引搜索
网络表单 查询字符串的主要用途是包含HTML表单(也称为web表单)的内容。特别是,当提交包含字段field1、field2、field3的表单时,字段的内容被编码为查询字符串,如下所示:

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

  • 查询字符串由一系列字段值对组成
  • 在每对中,字段名和值用等号分隔。如果值是空字符串,则可以省略等号
  • 对于嵌入在HTML中而不是由…生成的URL,一系列对由符号“&”(或分号“;”分隔;请参见下文)。 虽然没有明确的标准,但大多数web框架允许多个值与单个字段关联:
field1=value1&field1=value2&field1=value3…

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

此约定是W3C的建议。W3C建议所有web服务器除支持符号和分隔符[6]外,还支持分号分隔符,以允许HTML文档中URL中的application/x-www-form-Url编码查询字符串,而无需实体转义符号

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

Query String: ?strID=XXXX&strName=yyyy&strDate=zzzzz
在重定向之前:

string queryString = Request.QueryString.ToString();

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

像这样试试,应该有用

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

我使用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);

它对我很有效。

这可以通过以下方法完成:

Response.Redirect("http://localhost/YourControllerName/ActionMethodName?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3");
@DalijaPrasnikar此“链接”是指向本地主机的url,也是答案的一部分。请不要“机器人评论”