联系表单不起作用,"Value cannot be null. Parameter name: address" MVC5



我有一个联系表格,我不知道出了什么问题。

这是我编写的模型的代码:

public class Contact
{
public string FromName { get; set; } 
public string FromEmail { get; set; } 
public string Subject { get; set; } 
public string Message { get; set; } 
}

我只用读/写操作创建的控制器:

using System.Net.Mail;
using System.Web;
using System.Web.Mvc;
using GJL.Models;
namespace GJL.Controllers
{
public class ContactController : Controller
{
// GET: Contact
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(Contact vm)
{
if (ModelState.IsValid)
{
try
{
MailMessage msz = new MailMessage();
msz.From = new MailAddress(vm.FromEmail);//Email which you are getting 
//from contact us page 
msz.To.Add("roykooiman67@gmail.com");//Where mail will be sent 
msz.Subject = vm.Subject;
msz.Body = vm.Message;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 465;
smtp.Credentials = new System.Net.NetworkCredential
("roykooiman67@gmail.com", "PasswordGmail");
smtp.EnableSsl = true;
smtp.Send(msz);
ModelState.Clear();
ViewBag.Message = "Bedankt voor je bericht!";
}
catch (Exception ex)
{
ModelState.Clear();
ViewBag.Message = $" Er ging iets mis: {ex.Message}";
}
}
return View();
}
public ActionResult Error()
{
return View();
}
}
}

我的观点(在 pastebin 中要么太长了(:

https://pastebin.com/LvtSzY4V

这是我得到的错误:

值不能为空。参数名称:地址

我已经读到它必须与凭据有关。但这些是我帐户的正确凭据。

在输入控件上将属性替换为name属性后asp-for问题已修复,

例如
<input name="FromName" class="form-control" />
<input name="FromEmail" class="form-control" />
<input name="Subject" class="form-control" />
<textarea rows="5" cols="15" name="Message" class="form-control"></textarea>

ASP-for 标记帮助程序是在核心 MVC 中引入 ASP.NET 但在 MVC5 中不可用

相关内容

最新更新