Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Razor ASP.NET核心模型绑定-定义不同@Model';s in_布局和视图_Razor_Asp.net Core - Fatal编程技术网

Razor ASP.NET核心模型绑定-定义不同@Model';s in_布局和视图

Razor ASP.NET核心模型绑定-定义不同@Model';s in_布局和视图,razor,asp.net-core,Razor,Asp.net Core,当为_布局和不同视图定义不同的@model时,我得到一个InvalidOperationException InvalidOperationException:传递到 ViewDataDictionary的类型为 “ConsumerWebAPI_Basic.ViewModels.ApiResponse”,但是 ViewDataDictionary实例需要类型为的模型项 “ConsumerWebAPI_Basic.ViewModels.MovieSearch” \u Layout.cshtml @

当为_布局和不同视图定义不同的@model时,我得到一个InvalidOperationException

InvalidOperationException:传递到 ViewDataDictionary的类型为 “ConsumerWebAPI_Basic.ViewModels.ApiResponse”,但是 ViewDataDictionary实例需要类型为的模型项 “ConsumerWebAPI_Basic.ViewModels.MovieSearch”

\u Layout.cshtml

@model ConsumeWebAPI_Basic.ViewModels.MovieSearch
@model ConsumeWebAPI_Basic.ViewModels.ApiResponse
Response.cshtml

@model ConsumeWebAPI_Basic.ViewModels.MovieSearch
@model ConsumeWebAPI_Basic.ViewModels.ApiResponse

因此,请从
\u Layout.cshtml
中删除模型,或者对同一模型使用不同的布局,因为.Net无法通过self
MovieSearch
转换为
ApiResponse
。布局和视图之间的模型是共享的


至少你可以在版面中使用动态模型,但我不推荐这样做,所以请从
\u layout.cshtml
中删除模型,或者对同一个模型使用不同的版面,因为.Net无法将self
MovieSearch
转换为
ApiResponse
。布局和视图之间的模型是共享的


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

我最终使用了局部视图,并通过@Html.Partial传递模型

@Html.Partial("_Menu", new ConsumeWebAPI_Basic.ViewModels.MovieSearch(), new ViewDataDictionary(this.ViewData))

我最终使用了部分视图,并通过@Html.Partial传递模型

@Html.Partial("_Menu", new ConsumeWebAPI_Basic.ViewModels.MovieSearch(), new ViewDataDictionary(this.ViewData))