在C#中通过查询字符串传递电子邮件地址

6

我想向某人发送一个链接,这个链接需要包含一个电子邮件地址。基本上,我想要的是这样的:

http://www.mydomain.com/page.aspx?e=emailAddress@network.com

根据我的理解,我不能直接通过URL传递电子邮件地址。相反,我需要先对其进行编码。我的理解正确吗?如果是这样,我该如何使用C#进行编码?我看到有各种编码选项,但不确定应该使用哪个。
谢谢!
3个回答

6
如果您是从C#进行操作,请使用HttpServerUtility.UrlEncode将某个内容编码为URL。
来自文章:
String MyURL;
MyURL = "http://www.contoso.com/articles.aspx?title=" + Server.UrlEncode("ASP.NET Examples");

或者对于您的情况:
String MyURL = "http://www.mydomain.com/page.aspx?e=" + Server.UrlEncode("emailAddress@network.com");

4

是的,使用类似 HttpUtility.UrlEncode() 的方法对参数进行URL编码是个好主意。

不过,您展示的示例将电子邮件地址作为URL查询参数传递。不确定您所说的“向某人发送URL”的意思。


然后您需要使用HttpUtility.UrlDecode()来从查询参数中获取给定的电子邮件。 - TK-421
然后您需要使用 HttpUtility.UrlDecode() 从查询参数中检索给定的电子邮件。 - TK-421

1
尝试使用HttpUtility.UrlEncode()对电子邮件地址进行编码,这应该可以实现您想要的功能。

另一个 Chris 更快一些 ;-) - Christian Waidner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接