1

Index.aspx页面中,我使用超链接并传递给ShowIndexRegular.aspx2 个变量:键和标志

{
     ........
     string key="3";
     string flag="0";
     HyperLink1.NavigateUrl = string.Format("ShowIndexRegular.aspx?key={0},flag={1}",key,flag);

}

ShowIndexRegular.aspx

  protected void Page_Load(object sender, EventArgs e)
        {
            if(Request.QueryString["flag"]!=null)
            {
                string key="";
                string flag = "";
                string result="";                
flag = Request.QueryString["flag"].ToString();

                if (flag.Equals(0))
                {
                    key = Request.QueryString["key"].ToString();

                }
                else if (flag.Equals("1"))
                {
                    ....
                }
                result="1";

            }
            else
            {
                result="0";
            }

         }

当我单击中的 Hyperlink1 时Index.aspx,即使地址栏显示:http://localhost:41148/website/ShowIndexRegular.aspx?key=3,flag=0

,result is always "0"表示标志为空。我真的不知道为什么,地址栏显示:key=3,flag=0.

我的超链接 NavigateURL 语法有什么错误吗???帮助!!!

4

3 回答 3

3

查询字符串不使用逗号分隔键/值对:

ShowIndexRegular.aspx?key={0},flag={1}

相反,它们通过 & 符号分隔键/值对:

ShowIndexRegular.aspx?key={0}&flag={1}
于 2013-10-05T12:20:13.260 回答
1

见下文。

HyperLink1.NavigateUrl = string.Format("ShowIndexRegular.aspx?key={0}&flag={1}",key,flag);

您试图使用错误的格式构建您的查询字符串。用我上面的代码替换你的代码,你会没事的。

于 2013-10-05T12:19:59.197 回答
0

这不是传递多对 QueryString 的正确方法,您只需使用“&”而不是“,”,如下所示:

{ ........ 字符串键="3"; 字符串标志=“0”;HyperLink1.NavigateUrl = string.Format("ShowIndexRegular.aspx?key={0}&flag={1}",key,flag);

}
于 2013-10-05T14:55:40.000 回答