当所有相关数据都已经通过控制器签名中的参数可用时,使用视图模型有什么意义?我见过很多类似的例子:
public ActionResult Index(BasicPage currentPage)
{
var model = new BasicViewModel { Heading = currentPage.Heading, Body = currentPage.MainBody, MyBlock = currentPage.MyBlock };
return View(model);
}
为什么不直接将本示例中的“当前页面”发送到视图?这样做有没有被认为是不好的做法?
以上是 asp.net-mvc 的一般问题。我也会在这里添加一个关于 Episerver 的问题,如果我幸运的话,也有人可以回答这个问题。
在查看使用 MVC 完成的 Alloy 站点时,我还看到了与上面类似的行为,在所有控制器中都创建了视图模型,为什么不直接将发送到控制器的页面发送到视图?创建视图模型似乎是不必要的步骤?很可能我在这里遗漏了一些重要的点=)