MVC6 - ViewDataDictionary总是需要LoginViewModel

时间:2015-03-19 09:15:04

标签: c# razor asp.net-core-mvc

所以我最近将一个较旧的项目从MVC6 vNext Visual Studio 2015 CTP 2合并到了CTP 3中,原因是我的迁移工作没有在较旧的项目中使用。

我的代码在新项目中运行正常但是我索引页面以外的所有页面都给出了同样的错误:

The model item passed into the ViewDataDictionary is of type 'Models.HeaderViewModel',
but this ViewDataDictionary instance requires a model item of type 'Models.LoginViewModel'.

我真的很茫然,因为当我打破我的代码时,我可以看到传递的模型是正确的等等,但ViewDataDictionary却想要一个loginViewModel。

示例:

查看代码:

@model Models.HeaderViewModel
@{
  ViewBag.Title = "report";
  ViewBag.Header = "reports";
}
// HTML CODE

控制器代码:

 public IActionResult Index() {
      HeaderViewModel model = new HeaderViewModel();
      // DO STUFF
      return View("Incident", model);
 }

重定向的_Layout.cshtml上的链接:

@Html.ActionLink("Incidents panel", "Index", "Incident", null)

目前我的MapRoute只是示例预览中的基本内容:

app.UseMvc(routes => {
        routes.MapRoute(
                   name: "default",
                   template: "{controller}/{action}/{id?}",
                   defaults: new { controller = "Home", action = "Index" });

我真的不知道为什么会这样,因为它在之前的版本中运行良好。我希望有更好知识的人可以看到我在这里做错了什么。

提前致谢,

对于任何语法错误,很抱歉,英语不是我的主要语言。

0 个答案:

没有答案