[英]How does this ActionResult overloading work?
我对ASP.NET MVC很陌生。 刚看到我的教授在实验室里这样做。
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(Student student)
{
if (ModelState.IsValid)
{
manager.CreateStudent(student);
return RedirectToAction("List");
}
else
{
return View("Error");
}
}
而且效果很好。 但是我不清楚[HttpPost]
重载如何工作?
如果我将[HttpGet]
放在那里,会发生什么?
ASP.NET MVC是“模型-视图-控制器”编程模型的特定实现。 这意味着Controller方法调用将返回一个View,该View可以选择包含Model(某种数据)。
在这种情况下, Create
会返回一个没有关联模型的View,例如空白的create student页面,其中可能包含以下字段:名字,姓氏,电子邮件等。一旦输入了数据,便会在客户端上对其进行解析端放入一个Student
对象,并发布到服务器。 ASP.NET MVC看到对象(及其类型),并找到适当的重载方法来调用。 在这种情况下,这是一种在某种数据库中实际创建学生的方法。
如果要使用HttpPost
调用Create(Student)
,则ASP.NET MVC将返回Create()
因为默认情况下Create()
为[HttpGet]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.