You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC控制器中填充Action Link并触发mailto链接问题

解决方案

你不需要生成<a>标签再传回视图,直接通过控制器重定向到mailto链接就能实现点击后直接打开邮件客户端,步骤如下:

  • 在控制器的SendEmail方法里,用服务器端数据拼接合法的mailto URI,然后返回RedirectResult即可:
[HttpGet]
public ActionResult SendEmail()
{
    // 从服务器端获取收件人、主题、正文数据
    string recipient = "user@example.com";
    string encodedSubject = HttpUtility.UrlEncode("服务器生成的邮件主题");
    string encodedBody = HttpUtility.UrlEncode("服务器生成的邮件正文内容");

    // 拼接完整的mailto链接,注意参数要URL编码
    string mailtoLink = $"mailto:{recipient}?subject={encodedSubject}&body={encodedBody}";
    
    // 重定向到mailto链接,浏览器会直接唤起邮件客户端
    return Redirect(mailtoLink);
}
  • 视图里的ActionLink保持原样即可,点击后触发这个Action,浏览器收到重定向响应后会自动处理mailto协议,打开默认邮件程序并填充好服务器端生成的内容。

注意:主题和正文里的特殊字符(比如空格、中文)必须用HttpUtility.UrlEncode编码,否则会导致链接参数失效。

内容的提问来源于stack exchange,提问作者aleclouisgrant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 01:57:40