2

C# ASP.Net Web アプリ内で簡単な mailto を実行しようとしています。

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

ただし、「http://localhost:51771/MuseumViewer.aspx?MuseumIDs=3301&CountryIDs=1」のように名前と値のペアをアンパサンド (&) で区切ったクエリ文字列が URL に含まれている場合、リンクは本文で切断されます。 "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 に答える