将字符串转换为正确的URI格式?

fib*_*ics 6 html c# asp.net

有没有简单的方法将电子邮件地址字符串转换为正确的URI格式?

输入:

http://mywebsite.com/validate_email/3DE4ED727750215D957F8A1E4B117C38E7250C33/myemail@yahoo.com  
Run Code Online (Sandbox Code Playgroud)

输出应该是:

http://mywebsite.com/validate_email/3DE4ED727750215D957F8A1E4B117C38E7250C33/myemail%40yahoo.com  
Run Code Online (Sandbox Code Playgroud)

如果我没有输出,我得到一个错误响应,如

An Error Was Encountered
The URI you submitted has disallowed characters.
Run Code Online (Sandbox Code Playgroud)

提前致谢 !

dkn*_*ack 10

描述

您必须从URL中提取QueryString,对它们进行编码并构建新的URL.

样品

string url = "http://mywebsite.com/validate_email/3DE4ED727750215D957F8A1E4B117C38E7250C33/myemail@yahoo.com";
int index = url.LastIndexOf("/");

string queryString = url.Substring(index + 1, url.Length - (index + 1));
url = url.Substring(0, index) + "/" + HttpUtility.UrlEncode(queryString);

// url is now
// http://mywebsite.com/validate_email/3DE4ED727750215D957F8A1E4B117C38E7250C33/myemail%40yahoo.com
Run Code Online (Sandbox Code Playgroud)

更多信息