MailTo link in Razor

2020-03-08 10:52发布

问题:

How do I make a mailto link using Razor?

I've seen Html.MailTo, but when I try @Html.MailTo nothing comes up.

Thanks!

回答1:

HTML.MailTo() helper is a part of the 'mvc3 futures' project, but there is an alternative to way to do it.

1.)Create a new .cshtml file inside App_Code directory and name it as you want (for example HTMLHelpers.cshtml)

2.)Write the following in the file

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

3.)Now in your view you can call your new function. For example write

Email: @HTMLHelpers.EmailTextBox("george@example.com","George Chatzimanolis")


回答2:

You should just make a normal hyperlink:

<a href="mailto:you@example.com">...</a>

Razor and MVC helper methods are not intended to replace HTML tags; they're intended to make common data-bound elements simpler.



回答3:

I get to this question when I was trying to do simple

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

but Razor will treat this as text

I know there are HtmlHelpers and such but so far simple code worked for me

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

Whether a variable comes from model or ViewBag it's about @ sign in href and Razor



回答4:

The mailto helper is a part of the 'mvc3 futures' project.

The below blog will give you more information on mvc3 futures as well as the link to get it. I believe that it is also available as a NuGet package.

http://weblogs.asp.net/imranbaloch/archive/2011/07/26/using-the-features-of-asp-net-mvc-3-futures.aspx



回答5:

@{var email= new HtmlString( "" mail me ""));} @email;