c# - 通过 View 上的按钮运行方法(ASP.NET MVC)

标签 c# asp.net asp.net-mvc asp.net-mvc-4

我在发送电子邮件的后端有操作结果

这是代码

public ActionResult SendEmail(SmartSolutions.Models.InvitationMail _objModelMail)
{
    if (ModelState.IsValid)
    {
        var emailList = db.InvitationMails.Select(model => model.To);
        var emailList2 = db.InvitationMails.Select(model => model.Link);
        var link2 = emailList2.FirstOrDefault();
        var emails = String.Join(",", emailList);
        MailMessage mail = new MailMessage();
        mail.To.Add(emails);
        mail.From = new MailAddress(_objModelMail.From = "suhomlin.eugene93@gmail.com");
        mail.Subject = _objModelMail.Subject = "Видео интервью";

        string Body = _objModelMail.Body = "Предлагаем пройти интервью" + link2;

        mail.Body = Body;
        mail.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "smtp.gmail.com";
        smtp.Port = 587;
        smtp.UseDefaultCredentials = false;
        smtp.Credentials = new System.Net.NetworkCredential
        ("***************", "**********");// Enter seders User name and password
        smtp.EnableSsl = true;
        smtp.Send(mail);
        return View("SendEmail", _objModelMail as IEnumerable<InvitationMail>);
    }
    else
    {
        return View();
    }
}

效果很好。 5 秒后它重定向回来。

我需要通过按钮不在 ActionResult 中运行此方法。

逻辑是一样的,我点击按钮发送电子邮件给表格中的所有人。

我该怎么做?

最佳答案

简单!您应该使用 ajax 请求调用此方法。

$.ajax({
    url: '/ControlllerName/SendEmail',
    dataType: "json",
    type: "GET",
    contentType: 'application/json; charset=utf-8',
    async: false,
    processData: false,
    cache: false,
    delay: 15,
    success: function (result) {
                    alert("Email Forworded")                    
    },
    error: function (xhr) {
        alert('error');
    }
});

并在 SendEmail 方法中初始化它

Public JsonResult SendEmail ()
{
  SmartSolutions.Models.InvitationMail _objModelMail = new SmartSolutions.Models.InvitationMail();
 // here your code goes
}

希望有所帮助!

关于c# - 通过 View 上的按钮运行方法(ASP.NET MVC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43226834/

相关文章:

c# - 如何在c# Mvc中编写单元测试?方法有 session

c# - 将 textbox.text 值与 SQL Server 中的值进行比较

c# - 寻找最佳实践 : Communication between 2 Applications for Filebrowsing and Download

c# - Azure Blob 存储未上传

asp.net - 图片上传时 MySQL 语法错误

连接调试器时 ASP.Net Worker 进程卡住

Java : Get the time of different timezone

asp.net-mvc - ASP.NET MVC5 EF6 与 ApplicationUser 的关系

c# - 使用 "Negotiate Authorization"发送 HTTP 请求

iphone - iPhone 应用程序的 ASP.NET MVC 身份验证