I'm coding a basic portfolio page in ASP.NET Core Razor Pages. I want to have a contact form at the bottom, however I cannot seem to get the Input in the Text fields to my C# class OnPostSendEmail().
I've followed This Tutorial to actually send the email. But I don't have anything to send because I can't pass through my Input to the C# class. By the way, please don't just say "Use Ajax" etc.
Here is my .cshtml.cs code:
namespace Portfolio.Pages
{
public class IndexModel : PageModel
{
public void OnGet()
{
}
public EmailConfig emailConfig = new EmailConfig();
public ActionResult OnPostSendEmail(string fromAddr, string subject, string body, string phone, string firstName, string LastName)
{
SmtpClient client = new SmtpClient("smtp.gmail.com");
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("Email", "Password");
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress(emailConfig.FromAddr);
mailMessage.To.Add("ToEmail");
mailMessage.Body = emailConfig.Body + emailConfig.Phone;
string tempEmailSub = emailConfig.Subject.ToString();
tempEmailSub += (", ", emailConfig.Name.ToString());
tempEmailSub += (", ", emailConfig.LastName.ToString());
emailConfig.Subject = tempEmailSub;
mailMessage.Subject = emailConfig.Subject;
client.Send(mailMessage);
return null;
}
}
public class EmailConfig
{
public string FromAddr { get; set; }
//public string ToAddr { get; set; }
public string Body { get; set; }
public string Subject { get; set; }
public string Phone { get; set; }
public string Name { get; set; }
public string LastName { get; set; }
}
}
Here is my HTML form:
And my JavaScript/Ajax
$(function () {
$("#btn").click(function(e) {
e.preventDefault();
var t = '@GetAntiXsrfRequestToken()';
$.ajax({
url: $(this).attr("formaction"),
headers:
{
"RequestVerificationToken": t
},
type: "POST",
data: {
FromAddr: $("#CommentText").val(),
Phone: $("#Phone").val(),
Subject: $("#Subject").val(),
Message: $("#Message").val(),
FirstName: $("#FirstName").val(),
LastName: $("#LastName").val()
},
}).done(function(data) {
console.log(data);
}).fail(function(a, v, e) {
alert(e);
});
});
})
JavaScript questions and answers, JavaScript questions pdf, JavaScript question bank, JavaScript questions and answers pdf, mcq on JavaScript pdf, JavaScript questions and solutions, JavaScript mcq Test , Interview JavaScript questions, JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)