从一个页面向另一个页面发送多个参数

时间:2014-05-05 06:28:08

标签: c# asp.net

我使用下面的代码将两个参数从一个页面传递到另一个页面

link.NavigateUrl = "~/OutageInfo.aspx?outageID=" + outageid + "toolid="+toolid;

其他页面上的代码

var  x = this.Request.QueryString["outageID"];
int y = Convert.ToInt32(this.Request.QueryString["toolid"]);

我得到的输出是x =“10toolid = 1”,y = 0 但它应该是x = 10和y = 1,我正在做什么错误

6 个答案:

答案 0 :(得分:2)

应该是

ink.NavigateUrl = "~/OutageInfo.aspx?outageID=" + outageid + "&toolid="+toolid;

而不是

ink.NavigateUrl = "~/OutageInfo.aspx?outageID=" + outageid + "toolid="+toolid;

答案 1 :(得分:2)

尝试编辑此行..

link.NavigateUrl = "~/OutageInfo.aspx?outageID=" + outageid+ "&"+ "toolid="+toolid;

您必须使用& 符号附加第二个查询字符串。在您的情况下,它正在考虑作为单个查询字符串..

答案 2 :(得分:2)

你应该这样说

       link.NavigateUrl = "~/OutageInfo.aspx?outageID=" + outageid + "&toolid="+toolid;

答案 3 :(得分:0)

使用&:

分隔参数

link.NavigateUrl =“〜/ OutageInfo.aspx?outageID =”+ outageid& toolid =“+ toolid;

答案 4 :(得分:0)

此处& 参数会分隔您在网址中未提及& 的网址中的参数,因此无法拆分并传递到相应的QueryString.So请使用以下格式然后你会得到你想要的结果。

link.NavigateUrl = "~/OutageInfo.aspx?outageID=" + outageid + "&toolid="+toolid;

然后它看起来像

本地主机:... \ OutageInfo.aspx outageID = 12231&安培; toolid = 12321

然后在aspx.cs文件中,您将获得这些值

var  x = this.Request.QueryString["outageID"];//var x=12231
int y = Convert.ToInt32(this.Request.QueryString["toolid"]);//int y=12321

答案 5 :(得分:0)

您可以使用查询字符串从第一页到第二页发送多个参数,但您必须使用'&'作为字段分隔符 见下面的片段

link.NavigateUrl = "~/OutageInfo.aspx?outageID=" + outageid + "&toolid="+tooled;.

在上面的示例'中断'和' toolid'有'&'作为分隔符