【问题标题】:MailTo link in RazorRazor 中的 MailTo 链接
【发布时间】:2014-05-23 05:10:19
【问题描述】:

如何使用 Razor 创建 mailto 链接?

我见过 Html.MailTo,但是当我尝试 @Html.MailTo 时,什么都没有出现。

谢谢!

【问题讨论】:

    标签: asp.net-mvc-3 razor


    【解决方案1】:

    你应该只做一个普通的超链接:

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

    Razor 和 MVC 辅助方法不打算替换 HTML 标记;它们旨在使常见的数据绑定元素更简单。

    【讨论】:

    • 但是,如果电子邮件是由每个产品或其他东西驱动的数据呢?然后您需要即时生成电子邮件
    • @PawelCioch:只需插入一个服务器变量。您可能需要括号。
    • 我担心的只是 Razor 无法识别 ViewBag.Email ''
    • @PawelCioch:你可能需要在它周围加上括号。
    【解决方案2】:

    HTML.MailTo() 帮助程序是“mvc3 futures”项目的一部分,但有另一种方法可以做到这一点。

    1.)在 App_Code 目录中创建一个新的 .cshtml 文件并根据需要命名(例如 HTMLHelpers.cshtml)

    2.)在文件中写入以下内容

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

    3.) 现在在您看来,您可以调用新函数。比如写

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

    【讨论】:

      【解决方案3】:

      当我尝试做简单的事情时,我遇到了这个问题

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

      但 Razor 会将其视为文本

      我知道有 HtmlHelpers 之类的,但到目前为止,简单的代码对我有用

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

      变量来自model还是ViewBag都是关于@sign in href和Razor

      【讨论】:

      • 还有&lt;a href="mailto:@(ViewBag.EmailTo)"&gt;Email&lt;/a&gt;
      【解决方案4】:

      mailto 助手是“mvc3 futures”项目的一部分。

      下面的博客将为您提供有关 mvc3 期货的更多信息以及获取它的链接。我相信它也可以作为 NuGet 包使用。

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

      【讨论】:

        【解决方案5】:
        @{var email=new HtmlString(""给我发邮件""));} @电子邮件;

        【讨论】:

          猜你喜欢
          • 2016-01-10
          • 2011-06-10
          • 2023-03-19
          • 2021-08-03
          • 2011-10-26
          • 2014-12-27
          • 2015-06-05
          • 2012-10-25
          • 2010-10-18
          相关资源
          最近更新 更多