0

HTMLページで1つの画像を使用しています。リンクを提供するために、その画像にアンカーを1つ追加しています。そのアンカーには~/LB/lct.aspx?pid=177&cat=Happily In Loveとして href が含まれています

主なこと この URL はデータベースから来ています。手動で私はそれを入力していません..

Happily In Loveの間にスペースがあるため、無効な URL です

私はHttputility.urlencodingとデコードも使用しました....しかし、私が直面している問題は..

URL は適切に終了されていますが、画像をクリックしている間、エンコードされた URL がデコードされないため、適切なページにリダイレクトされません..

これを解決する方法...これについて私を助けてください....

4

2 に答える 2

0

簡単な答えですが、問題を引き起こしているのがスペースだけである場合は+、文字列置換を使用してそれらを置き換えることを検討してください。

string newurl = url.Replace(" ","+");

これは、スペースがクエリ文字列の内容に制限されている場合にのみ、本当に安全であることに注意してください。

于 2013-05-15T06:22:06.370 に答える
0

ここにコードがあります

    string url = "~/LB/lct.aspx?pid=177&cat=Happily In Love"; //your input
    string[] arr = url.Split('?');
    var nameValues = HttpUtility.ParseQueryString(arr[1]);
    foreach (var n in nameValues.AllKeys)
    {
        nameValues.Set(n, HttpUtility.UrlEncode(nameValues[n]));
    }
    url = arr[0] + "?" + nameValues.ToString(); //your output

次のコードを使用してクエリ文字列の値をデコードします

string cat = HttpUtility.UrlDecode(Request.QueryString["cat"].ToString());
于 2013-05-15T06:18:06.857 に答える