如何在 LinkButton 单击事件中启动电子邮件客户端?

6

我该如何启动一个Outlook电子邮件窗口(类似于超链接中的mailto:)?

需要在点击事件中完成此操作。

2个回答

12

考虑到mailto功能是需要在客户端执行的函数,你需要使用JavaScript来实现它。根据你希望何时进行mailto的操作,你有两种选择。

如果你希望在单击LinkButton后立即执行mailto操作,则只需将以下代码添加到LinkButtonOnClientClick事件中:

<asp:LinkButton runat="server" ID="btnEmail" Text="Send Email"
    OnClientClick="window.open('mailto:someone@somewhere.com','email');">
</asp:LinkButton>

如果你希望这件事发生在服务器端代码运行之后,那么你需要将JavaScript事件与新页面启动时运行相关联:

// At the end of your LinkButton server side OnClick event add the following code:
ClientScript.RegisterStartupScript(this.GetType(), "FormLoading",
    "window.open('mailto:someone@somewhere.com','email');", true);
希望能帮到你。

好的,LinkButtons代码后台需要执行一个if语句,所以这个(开始新邮件)必须作为“else”条件在代码后台中。 - user279521

0

我已经通过使用LinkButton的OnClientClick事件完成了这个任务。

你可以使用:

<asp:LinkButton runat="server" ID="btnEmail" Text="Send Email"
    OnClientClick="window.location.href = 'mailto:someone@something.com?subject=Email Subject';">
</asp:LinkButton>

如果需要从数据库或其他地方加载电子邮件地址,您也可以在代码中执行此操作:

btnEmail.OnClientClick = "window.location.href = 'mailto:someone@something.com?subject=Email Subject';";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接