Los*_*ost 12 c# asp.net asp.net-mvc asp.net-mvc-4
我对MVC的设计模式以及框架都非常陌生.我也不是非常精通ASP.NET Forms的基础知识.但是,我也了解Web开发和HTTP Post和GET的基础知识.
现在,我已经阅读了一些MVC教程,虽然我很好地掌握了模式的MVC以及"路由引擎"的工作原理.然后突然我遇到了一个看起来像下面的代码:
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new MyViewModel());
}
[HttpPost]
public ActionResult Index(MyViewModel model)
{
return Content("Thanks", "text/html");
}
}
Run Code Online (Sandbox Code Playgroud)
我很少看到它的问题:
公共ActionResult索引(MyViewModel模型)?"
由于NyViewModel是一种复杂类型,因此您无法将其作为URL的一部分传递.你怎么称呼它?
我想我在拼图中错过了一个很大的问题,而且两个问题都是相互关联的.但是,需要一些帮助才能理解这种关系
kri*_*gar 16
该[HttpPost]属性告诉路由引擎将该操作方法的任何POST请求发送到另一个方法.这是一种重载.
[HttpPost]当第一种方法不需要任何属性时,为什么第二种方法被装饰?
方法的默认值是[HttpGet].因此,不需要任何属性.
是否有关于何时使用
[Http]属性的指南,何时没有?
理想情况下,属性应该放在每个方法上,以避免混淆.随着您越来越熟悉事物的运作方式,您通常会采用快捷方式(与其他所有内容一样),并在您知道不必要时省略它们.
由于
MyViewModel是复杂类型,因此您无法将其作为URL的一部分传递.你怎么称呼它?
数据将根据请求正文中的数据转换为模型.这可以作为JSON对象,也可以作为Form数据.(有一些技巧可以从URL初始化对象,但它们可能有点复杂和高级.)
| 归档时间: |
|
| 查看次数: |
36757 次 |
| 最近记录: |