2011-12-14 12 views
0

mailtoハイパーリンクの本文にあるURLにルートフォルダを動的に生成しようとしています。通常、私はこれを行うにはpage.resolveurl()を使うことができますが、私はこの場合何をすべきか分かりません。電子メールの本文では、「〜」はルートフォルダに置き換えられず、「〜/ z/blog_listing.aspx?fid = 489%26id = {0} &」と表示されます。 id = 1127。 "リンクで動的にルートフォルダを生成する方法

ここに私の問題がある私のコードがあります。

背後にあるコード:

hypEmail.NavigateUrl = 
    Page.ResolveUrl(
     "mailto:[email protected]?Body=Check out this blog post I found: ~/z/blog_listing.aspx?fid=489%26id={0}", 
     cdata.PostID); 

マークアップページ:

<asp:HyperLink ID="hypEmail" Text='Email' class="last" CommandName="Select" 
       runat="server"></asp:HyperLink> 

ありがとう!

答えて

2

Page.ResolveUrlはURLを待っていて、文字列内のすべてのURLを魔法のようにフォーマットしません。

あなたがして、あなたのコードを置き換えることがあります。

string url = string.Format(
    "~/z/blog_listing.aspx?fid=489%26id={0}", 
    cdata.PostID 
    ); 

string body = "Check out this blog post I found: " + Page.ResolveUrl(url); 
hypEmail.NavigateUrl = string.Format(
    "mailto:{0}?Body={1}", 
    "[email protected]", 
    HttpUtility.UrlEncode(body) 
    ); 
関連する問題