开发者

How do I encode a complete URL string in ASP MVC

I get a url string and would like to transform it to a legal http url:

For example:

"http://one/two/three%four/five#five?six seven&开发者_JAVA百科quot; should turn into "http://one/two/three%25four/five%23five?six%20seven"

However, HttpUtility.UrlEncode does not help, as it encodes the entire string (including the legal "://").


See if this what you want?

   Uri uri = new Uri("http://one/two/three%four/#five?six seven");
   string url = uri.AbsoluteUri + uri.Fragment; 
   // url will be "http://one/two/three%25four/#five?six%20seven#five?six%20seven"


How about splitting and rejoining:

string url = "http://one/two/three%four/#five?six seven";
string encodedUrl = "http://" + string.Join("/", url.Substring(7).Split('/').Select(part => HttpUtility.UrlEncode(part)).ToArray());
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜