2

我正在尝试在我的 C# ASP.Net Web 应用程序中做一个简单的 mailto。

string url = HttpContext.Current.Request.Url.AbsoluteUri;
System.Diagnostics.Process.Start("mailto:?subject=View Rig Map&body=" + url);

但是,如果 url 有一个带有与号 (&) 分隔名称-值对的查询字符串,例如“http://localhost:51771/MuseumViewer.aspx?MuseumIDs=3301&CountryIDs=1”,那么它会在正文中截断链接位于“http://localhost:51771/MuseumViewer.aspx?MuseumIDs=3301”的电子邮件。

我真的不想做任何花哨的事情,因为我需要做的就是在电子邮件正文中添加链接。谁能帮我这个?如果我将mailto放在客户端会起作用吗?

更新解决方案 我很难决定选择谁作为答案,但这是我使用的解决方案:

string url = HttpContext.Current.Request.Url.AbsoluteUri;
string link = Server.UrlEncode(url);
System.Diagnostics.Process.Start("mailto:?subject=View Rig Map&body=" + link);
4

2 回答 2

5

%26 是 & 符号的 URL 转义码。尝试在 url 上运行 UrlEncode()。

于 2012-04-17T20:33:44.553 回答
2

将对 System.Web 的引用添加到您的项目中。

在您的应用程序中使用以下行

string url = "http://localhost:51771/MuseumViewer.aspx?MuseumIDs=3301&CountryIDs=1";
System.Diagnostics.Process.Start("mailto:?subject=View Rig Map&body=" + System.Web.HttpUtility.UrlEncodeUnicode(url));
于 2012-04-17T20:38:08.570 回答