C# 如何使用SQL数据库表中的数据填充Razor模型页中的值
我正在从razor模型页面发送电子邮件,具体取决于表单值 我有硬编码的电子邮件详细信息,希望插入db表中的值 我想使用下面类中的发送方和接收方值: 电子邮件发送者模型C# 如何使用SQL数据库表中的数据填充Razor模型页中的值,c#,asp.net-core,razor-pages,C#,Asp.net Core,Razor Pages,我正在从razor模型页面发送电子邮件,具体取决于表单值 我有硬编码的电子邮件详细信息,希望插入db表中的值 我想使用下面类中的发送方和接收方值: 电子邮件发送者模型 public class FormEmailData { public int ID { get; set; } [Required] [EmailAddress(ErrorMessage = "Invalid Email Address")] public string S
public class FormEmailData
{
public int ID { get; set; }
[Required]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Sender { get; set; }
[Required]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Receiver { get; set; }
[Required]
[Display(Name = "Email body")]
[StringLength(500)]
public string Emailbody { get; set; }
[Required]
[Display(Name = "Email Subject")]
public string EmailSubject { get; set; }
}
邮页模型
public async Task<IActionResult> OnPostAsync()
{
if (!ModelState.IsValid)
{
return Page();
}
_context.CompanyForm.Add(CompanyForm);
await _context.SaveChangesAsync();
if (CompanyForm.Answer1 =="Yes" || CompanyForm.Answer2 =="Yes" || CompanyForm.Answer3 =="Yes")
{
var body = $@"<p>Notification for User : {CompanyForm.LastName}</p><br />
<p>Answers for survey are:</p>
<p>Answer for question 1 is: <b>{CompanyForm.Answer1}</b></p>
<p>Answer for question 2 is: <b>{CompanyForm.Answer2}</b></p>
<p>Answer for question 3 is: <b>{CompanyForm.Answer3}</b></p>
Please contact Front Office<br/>";
using (var smtp = new SmtpClient())
{
smtp.Host = "smtp.all.net";
smtp.Port = 25;
var message = new MailMessage();
message.To.Add("user1@company.com"); //NEED TO INJECT THIS VARIABLE FROM DB
message.Subject = "Survey Results";
message.Body = body;
message.IsBodyHtml = true;
message.From = new MailAddress("admin@company.com"); //NEED TO INJECT THIS VARIABLE FROM DB
await smtp.SendMailAsync(message);
}
return RedirectToPage("./WarningPage");
}
else
{
return RedirectToPage("./Complete");
}
}
公共异步任务OnPostAsync()
{
如果(!ModelState.IsValid)
{
返回页();
}
_context.CompanyForm.Add(CompanyForm);
wait_context.SaveChangesAsync();
如果(CompanyForm.Answer1==“Yes”| | CompanyForm.Answer2==“Yes”| | CompanyForm.Answer3==“Yes”)
{
var body=$@“用户通知:{CompanyForm.LastName}调查结果如下: 问题1的答案是:{CompanyForm.Answer1} 问题2的答案是:{CompanyForm.Answer2} 问题3的答案是:{CompanyForm.Answer3} 请联系前台
”; 使用(var smtp=new SmtpClient()) { smtp.Host=“smtp.all.net”; smtp.Port=25; var message=new MailMessage(); message.To.Add(“user1@company.com“”;//需要从DB注入此变量 message.Subject=“调查结果”; message.Body=Body; message.IsBodyHtml=true; message.From=新邮件地址(“admin@company.com“”;//需要从DB注入此变量 等待smtp.SendMailAsync(消息); } 返回重定向Topage(“/警告页”); } 其他的 { 返回重定向Topage(“/完成”); } }
您的意思是希望从数据库中获取模型,如
\uucontext.xxx.where()
,请参阅,获取数据后,可以将其插入消息中。