我将(作为问题的状态)要作一个异步呼叫,优选地使用ASP.net AJAX。

有将WebMethod的代码看起来是这样的:

[WebMethod]
public void SendMail(string name, string email, string subject, string body)
{
  MailMessage toSend = new MailMessage(email, address@domain.com, subject, body);
  var smtp = new SmtpClient();
  smtp.Send(toSend);
}

在该视图中的字段,这并不奇怪:姓名,电子邮件,主题,正文

在我努力做到这一点,我一直没能去将WebMethod。该服务引用到位,所以至少我没有螺丝,最多。

感谢您的帮助...

有帮助吗?

解决方案

这里你可以找到调用与异步方法的一个例子AJAX在ASP.NET MVC与像

元素
<% using (Ajax.Form("SendMail", new AjaxOptions { UpdateTargetId = "resultDiv" })) { %>

   <!-- Your form elements here... -->

<% } %>

可以在控制器方法接收PARAMS并从那里调用web服务。

其他提示

这是不是一个回答你的问题,但一个警告。我一直在寻找这种方法和思维,“嗯,我不知道如果ASP.NET关心,如果该网络方法的调用来自您的网站或别的地方?”快速谷歌搜索使我相信,没有任何检查,以确保一些冲洗不使用网络的方法为自己的恶意愿望(的这里是一个博客文章谈论这个)。

所以,你得到这个工作之前,你可能要考虑如何防止有人劫持您的webmethod给我发电子邮件伟哥。因为如果我从你的网站伟哥的电子邮件,我不会很高兴和你在一起。

据MSDN库

  

为了对Web服务是   从脚本访问,它必须是一个   的.asmx Web服务,其Web服务   类是合格与   ScriptServiceAttribute属性。   个别方法从被称为   脚本必须用合格   WebMethodAttribute属性。

http://msdn.microsoft.com/en-ca/库/ bb398998.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top