重定向到带编码网址的另一个页面

时间:2013-05-10 07:15:47

标签: c# html

我在html页面上使用了一个图像。我在哪里添加一个锚到该图像,以提供链接。 该锚点包含href为〜/ LB / lct.aspx?pid = 177& cat = Happily In Love

主要事项此URL正在来自数据库。我没有手动进入它..

因为幸福快乐

之间的空格,所以它是一个无效的网址

我还使用了Httputility.urlencoding和解码........但我遇到的问题是......

Url已正确录制,但是当我点击图片时,它没有重定向到正确的页面,因为编码的网址未被解码..

如何解决这个问题......请帮助我......

2 个答案:

答案 0 :(得分: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
  

使用以下代码解码Querystring值

string cat = HttpUtility.UrlDecode(Request.QueryString["cat"].ToString());

答案 1 :(得分:0)

简单回答,但如果它只是导致问题的空格,请考虑使用字符串替换+替换它们:

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

请注意,如果空格仅限于查询字符串的内容,则这是非常安全的。