ASP.NET核心模型绑定 - 在_Layout和View

时间:2017-04-24 14:16:09

标签: razor asp.net-core

为_Layout和其他视图定义不同的@ model&时,我得到一个InvalidOperationException。

  

InvalidOperationException:传递给的模型项   ViewDataDictionary属于类型   ' ConsumeWebAPI_Basic.ViewModels.ApiResponse',但是这个   ViewDataDictionary实例需要类型的模型项   ' ConsumeWebAPI_Basic.ViewModels.MovieSearch'

_Layout.cshtml

@model ConsumeWebAPI_Basic.ViewModels.MovieSearch

Response.cshtml

@model ConsumeWebAPI_Basic.ViewModels.ApiResponse

2 个答案:

答案 0 :(得分:2)

所以从MovieSearch移除模型或使用相同模型的不同布局cuz .Net cant将自己ApiResponse转换为nameNode=hdfs://dvs1vm75:8020 jobTracker=dvs1vm75:8032 queueName=default oozieRoot=oozie oozie.system.libpath=true oozie.use.system.libpath=true oozie.wf.application.path=${nameNode}/user/admin/zied/spark/workflow.xml 。布局和视图之间的模型是共享的

至少你可以在布局中使用动态模型,但我不推荐这个

答案 1 :(得分:0)

我最终使用了Partial View并通过@ Html.Partial

传递了模型
@Html.Partial("_Menu", new ConsumeWebAPI_Basic.ViewModels.MovieSearch(), new ViewDataDictionary(this.ViewData))