【发布时间】:2014-12-16 23:12:07
【问题描述】:
目的是什么,什么时候应该使用 SurfaceController 和 RenderMvcController?似乎我无法用 SurfaceController 做任何事情,而我不能用 RenderMvcController 做任何事情。例如,我正在专门考虑处理表单提交。使用 RenderMvcController 我可以做到:
public class HomeController : RenderMvcController
{
private IUmbracoMapper _umbracoMapper;
public HomeController()
{
_umbracoMapper = new UmbracoMapper();
}
[HttpGet]
public ActionResult Home()
{
HomeViewModel viewModel = new HomeViewModel();
_umbracoMapper.Map(CurrentPage, viewModel);
return CurrentTemplate(viewModel);
}
[HttpPost]
public ActionResult Home(HomeViewModel viewModel)
{
// Handle form submission
}
}
这对我来说似乎更符合 MVC,尤其是因为我可以使用像 UmbracoMapper 这样的包将当前 Umbraco 节点映射到视图模型并将其传递给我的视图?为什么以及何时应该使用 SurfaceController?
如果我愿意,我可以使用 RenderMvcController 劫持给定节点的每条路由,让我对我的应用程序有更多控制权,更像是一个纯粹的 ASP.NET MVC 应用程序。这是好事吗?
【问题讨论】:
标签: umbraco