1

ページでは、ハイパーリンクを使用して、キーとフラグの 2 つの変数Index.aspxに渡します。ShowIndexRegular.aspx

{
     ........
     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"、フラグが null であることを意味します。理由はよくわかりませんが、アドレスバーには次のように表示されます。key=3,flag=0.

私の Hyperlink 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 に答える