2017-04-05 12 views
1

リンクが含まれているメールを送信しようとしていますが、正しく動作していません。ここでメール本文にリンクが正しく表示されない

は私が持っているものである:電子メールでの

mail.Body = mail.Body + "<div>" + "<p><a href=" + 
         "http://serverName/projectName/controllerName/AllSummaries?yesterday=" + 
         DateTime.Today.AddDays(-1).Date.ToString("MM/dd/yyyy") + ">Click here to go to " + 
         DateTime.Today.AddDays(-1).Date.ToString("MM/dd/yyyy") + " summaries!</a></p>"; 

mail.IsBodyHtml = true; 

この結果は次のとおりです。

http://serverName/projectName/controllerName/AllSummaries?yesterday=04/04/2017 

それはすべきではない:

Click here to go to 04/04/2017 summaries!

私には何が欠けていますか?

UPDATE

文字列補間:

var date = DateTime.Today.AddDays(-1).Date.ToString("MM/dd/yyyy"); 
mail.Body += $"<div><p><a href='http://serverName/projectName/controllerName/AllSummaries?yesterday={date}'>Click here to go to {date} summaries</a></p></div>"; 

結果:String.Format

を使用しているとき、私はまだフルリンク..ない Click here to go to {date} summaries

同じ結果を見てい

答えて

3

hrefアトリビュートを引用符で囲んで、既存のものそれぞれに適切な終了タグを付けるようにしてください。あなたはこの(または文字列補間などの新しいアプローチ)を処理するためにString.Format()メソッドを使用して検討する必要があります

// Using String.Format() 
mail.Body += String.Format("<div><p><a href='http://serverName/projectName/controllerName/AllSummaries?yesterday={0}'>Click here to go to {0} summaries</a></p></div>", DateTime.Today.AddDays(-1).Date.ToString("MM/dd/yyyy")); 

// Using String.Interpolation 
var date = DateTime.Today.AddDays(-1).Date.ToString("MM/dd/yyyy"); 
mail.Body += $"<div><p><a href='http://serverName/projectName/controllerName/AllSummaries?yesterday={date}'>Click here to go to {date} summaries</a></p></div>"; 
+0

私は、文字列の補間をした、そしてそれはまだ同じリンクになります。奇妙な。 –

+0

更新された質問 –

+0

固定..保存していましたが、再構築していません。ありがとうございます! –

関連する問題