我正在开发一个MVC项目,我使用下面代码中的Controller来注册消息,但我遇到了问题。当我执行代码时,它找不到联系人页面,但是当我评论[httppost]它可以加载联系页面时,我在哪一步做错了? 谢谢
[HttpPost]
[Route("Contact")]
public ActionResult Contact(Contact msg)
{
try
{
Contacts.InsertMessage(msg);
return View(model: "Successful");
}
catch (Exception ex)
{
return View(model: "Failed: " + ex.Message);
}
}
答案 0 :(得分:0)
你有另外一个actionResult加载这样的联系页面吗?
public ActionResult Contact()
{
.....
}
如果是,那么它是有道理的,因为当你将[HttpPost]分配给ActionResult时,ActionResult只会处理POST请求(例如提交表单)而你用来加载联系页面的那个没有[HttpGet] ]将处理GET请求。因此,除非您将[HttpPost]或[HttpGet]或两者放在各自的ActionResult中,否则控制器不会知道要处理哪个ActionResult。