我正在尝试在我的C#ASP.Net网络应用程序中进行简单的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);
答案 0 :(得分:4)
%26是&符号的URL转义码。尝试在网址上运行UrlEncode()。
答案 1 :(得分:1)
将对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));