【发布时间】:2015-07-17 01:15:35
【问题描述】:
我将 Asp.net 5 用于一个小型应用程序,但在从协调器返回 ViewResult 时遇到了一点麻烦。
在以前的 MVC 版本中我们已经这样做了:
return new ViewResult
{
ViewName = "Index",
ViewData = {Model = _formViewModelBuilder.BuildModel()}
};
在 MVC 6 中,这会引发空引用异常。设置 ViewData 的模型属性无效,因为 ViewData 的值为 null?我相信这与依赖注入有关,但我无法在任何地方找到关于为什么会发生这种行为的具体解释。
我可以让它工作的最简单的方法是:
return new ViewResult
{
ViewName = "Index",
ViewData = new ViewDataDictionary<FormViewModel>(ViewData, model)
};
这使用 Microsoft.AspNet.Mvc.Controller.ViewData 属性。我可以将此属性传递给协调器,但我不确定这是否完全错误并且我在这里错过了一个技巧?
任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: asp.net-core asp.net-core-mvc