Как запустить почтовый клиент при нажатии кнопки LinkButton?

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

Это нужно сделать в событии клика LinkButton.


person user279521    schedule 10.05.2010    source источник


Ответы (2)


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

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

<asp:LinkButton runat="server" ID="btnEmail" Text="Send Email"
    OnClientClick="window.open('mailto:[email protected]','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:[email protected]','email');", true);

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

person Kelsey    schedule 10.05.2010
comment
ну, есть оператор if, который необходимо выполнить в коде LinkButtons, поэтому это (начать новое электронное письмо) должно быть в коде как условие else; - person user279521; 10.05.2010

Я сделал это, используя событие OnClientClick LinkButton.

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

<asp:LinkButton runat="server" ID="btnEmail" Text="Send Email"
    OnClientClick="window.location.href = 'mailto:[email protected]?subject=Email Subject';">
</asp:LinkButton>

Вы также можете сделать это в коде, если вам нужно загрузить адрес электронной почты из базы данных или что-то в этом роде:

btnEmail.OnClientClick = "window.location.href = 'mailto:[email protected]?subject=Email Subject';";
person Dave Patrick    schedule 30.09.2015