2011-08-30 67 views
16

如何使用Razor製作郵件鏈接?郵件中鏈接到剃刀

我見過Html.MailTo,但是當我嘗試@ Html.Mail時什麼都沒有出現。

謝謝!

回答

16

HTML.MailTo()助手是「MVC3期貨」項目的一部分,但就是這樣做的替代品。

1)創建App_Code目錄內一個新的.cshtml文件,並根據需要(例如HTMLHelpers.cshtml命名)

2)將文件寫入

@helper EmailTextBox(string email, string title) { 
    <a href="mailto:@email">@title</a>  
} 

3以下)現在在你看來,你可以調用你的新函數。例如寫

Email: @HTMLHelpers.EmailTextBox("[email protected]","George Chatzimanolis") 
15

你應該只是做一個正常的超鏈接:

<a href="mailto:[email protected]">...</a> 

剃刀和MVC的輔助方法並不是要取代HTML標籤;它們旨在簡化常見的數據綁定元素。

+0

但是,如果電子郵件是每個產品或某物的數據驅動?您需要隨即生成電子郵件 –

+0

@PawelCioch:只需插入一個服務器變量即可。你可能需要括號。 – SLaks

+0

我的擔憂只是Razor不認識ViewBag.Email'' –

-1
@ {VAR電子郵件=新HtmlString( 「」 mail給我 「」));} @email;
+1

Don't do that; it defeats the point of a templating engine. – SLaks

5

我得到這個問題的時候,我試圖做簡單的

<a href="mailto:@ViewBag.EmailTo">Email</a> 

但剃刀將其視爲文本

我知道有HtmlHelpers等,但到目前爲止,簡單的代碼爲我工作

<a href="mailto:@{@ViewBag.EmailTo}">Email</a> 

變量是否來自模型或ViewBag它是關於在HREF @符號和剃刀

+1

Also 'Email' –