2011-08-30 27 views
16

¿Cómo hago un enlace de mailto usando Razor?MailTo vincular en Razor

He visto Html.MailTo, pero cuando intento @ Html.MailTo no aparece nada.

Gracias!

Respuesta

16

HTML.MailTo() helper es una parte del proyecto '' MvC3 futuros, pero no es una alternativa a la forma de hacerlo.

1.) Crear un nuevo archivo .cshtml dentro del directorio App_Code y el nombre como desee (por ejemplo HTMLHelpers.cshtml)

2.) Escriba lo siguiente en el archivo

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

3 .) Ahora en su vista puede llamar a su nueva función. Por ejemplo escribir

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

Usted sólo debe hacer un hipervínculo normales:

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

de afeitar y MVC métodos auxiliares no están destinadas a sustituir las etiquetas HTML; están destinados a simplificar los elementos comunes de datos.

+0

Pero, ¿y si el correo electrónico está basado en datos por producto o algo así? necesita entonces generar el correo electrónico sobre la marcha –

+0

@PawelCioch: simplemente inserte una variable de servidor. Es posible que necesite paréntesis. – SLaks

+0

Mi preocupación era que Razor no reconocería ViewBag.Email '' –

-1
@ {var = new correo electrónico HtmlString ("" mail me ""));} @email;
+1

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

5

llego a esta pregunta cuando yo estaba tratando de hacer sencilla

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

pero Razor consideraremos que el texto

Sé que hay HtmlHelper y eso, pero hasta el momento código simple que funcionó para mí

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

si una variable proviene de modelo o ViewBag se trata de símbolo @ en href y Razor

+1

Also 'Email ' –