进行异步Web服务调用从ASP.Net MVC
-
19-08-2019 - |
题
我将(作为问题的状态)要作一个异步呼叫,优选地使用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属性。
不隶属于 StackOverflow