Как запустить почтовый клиент на событии клика LinkButton? - PullRequest
6 голосов
/ 10 мая 2010

Как запустить окно электронной почты Outlook (аналогично тому, что mailto: делает в гиперссылке)?

Это необходимо сделать в событии LinkButton click.

Ответы [ 2 ]

11 голосов
/ 10 мая 2010

Учтите, что функциональность mailto - это функция, которая должна выполняться на стороне клиента. Вам понадобится JavaScript для этого. В зависимости от того, когда вы хотите, чтобы произошла переписка, у вас есть два варианта.

Если вы хотите, чтобы это произошло сразу после нажатия кнопки LinkButton, просто добавьте к событию LinkButton OnClientClick:

<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);

Надеюсь, это поможет.

0 голосов
/ 30 сентября 2015

Я выполнил это с помощью события OnClientClick LinkButton.

Вы можете использовать:

<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';";
...