在URI中转义+(加号)

THX*_*138 5 .net urlencode url-encoding

当用户在我的网站上输入电子邮件时,我会发送包含链接的电子邮件验证电子邮件.链接看起来像:

http://mysite.com/VerifyEmail?email=name@domain.com&token=12341234

此特定用户的电子邮件包含"+"(加号),因此链接如下所示:

http://mysite.com/VerifyEmail?email=foo+bar@domain.com&token=12341234

单击链接时(至少在Firefox中)加上替换为空格.

问题:我在.net中使用什么URL编码功能来逃避加号.

注意:Uri.EscapeUriString(email)叶子加完整.

Jon*_*eet 12

您可以使用Uri.EscapeDataString- 我刚刚验证了将"Foo + Bar"转换为"Foo%2BBar".

老实说,如果MS对这些方法之间的差异提供了更多的指导,以及HttpUtility.UrlEncode(并非在所有平台上都可用),我会很感激.