从没有回发的JavaScript触发服务器端电子邮件

时间:2016-03-22 11:26:27

标签: javascript c# jquery asp.net

我有一个asp.net应用程序。我隐藏了用户点击JavaScript按钮时显示的输入。

当用户点击显示一些隐藏输入的JavaScript按钮时,我想从服务器端发送一封电子邮件。

我正在尝试创建服务器端按钮,我可以设置onclientclick函数来调用我的JavaScript,但也设置服务器端方法来触发服务器端的电子邮件 - 但这样做不会导致回发。

我不需要向页面返回任何内容,页面将完全相同。

我想阻止回发的原因是显示在客户端点击时发生的动画。

我读过有关AJAX,JQuery等的内容。

我没有理由认为这会使.net中的技术上不切实际或不安全。

在调用服务器端代码或者阻止回发的特殊命令之后,可能会返回false。

我不认为这个问题已被直接解决 - 特别是因为我不需要从服务器接收任何东西,而且也是独特的,因为我特别询问.net。

2 个答案:

答案 0 :(得分:3)

通过.Net代码创建一个WebMethod,然后在点击该javascript按钮时使用ajax调用该WebMethod。

[System.Web.Services.WebMethod]
public static bool SendEmail()
{
    //Logic to send Email        
}

通话不会创建任何回发,您可以轻松执行任务。

了解如何使用webmethod visit

答案 1 :(得分:0)

正如您已经说过的那样,技术上是不可能的。为什么?请继续阅读..

您需要正确理解服务器 - 客户端模型。在每次通信中,都有一个从客户端到服务器的请求,并且从服务器到客户端有相应的响应。

加载URL时,客户端(浏览器)会向服务器询问页面(REQUEST)。服务器使用一些HTTP代码(RESPONSE)将页面发送到客户端。之后,服务器和客户端之间没有关系,除非客户端发送其他请求。

正如名称本身所示,“服务器”是指从“客户”接收订单/请求并提供/响应的服务器。

在您的情况下,由于客户端没有请求,服务器无法做任何事情。