无法将部分视图与模型一起使用。我创建了一个名为的新 WebApplicationWebApplication1我创建了一个TestPartialView在共享文件夹内命名的部分视图。在该TestPartialView.cshtml.cs文件中,我创建了一个名为的方法GetMyString(),该方法返回一个字符串。我正在文件@Model.GetMyString()内部使用TestPartialView.cshtml。<partial name="TestPartialView" />我已在_Layout页面下方包含标签<partial name="_CookieConsentPartial" />当我构建时没有错误。但是当我运行它时,它给出了一个错误:InvalidOperationException:传递到 ViewDataDictionary 的模型项的类型为“WebApplication1.Pages.IndexModel”,但此 ViewDataDictionary 实例需要类型为“WebApplication1.Pages.Shared.TestPartialViewModel”的模型项。”
2 回答

偶然的你
TA贡献1841条经验 获得超3个赞
您的分部视图需要 TestPartialViewModel 类型的模型,但在从 _layout.cshtml 引用分部视图时没有指定,因此页面默认将父 ViewModel 发送到您的分部视图,这会导致您遇到的错误。
修理
只需从 _layout.cshtml 引用您的部分视图,并传递预期模型,如下所示
@await Html.PartialAsync("~/Views/Shared/PartialViews/TestPartialView.cshtml", new TestPartialViewModel())

慕标琳琳
TA贡献1830条经验 获得超9个赞
看来您已尝试构建一个 NewRazor Page
来用作新的部分视图。
分部视图没有关联的PageModel
类 ( .cshtml.cs
)。部分视图只是在 Razor 标记 ( ) 中创建的视图.cshtml
。
请参考这个例子:强类型部分。它简洁地显示了Razor Page
将数据作为模型传递给partial view
渲染。
- 2 回答
- 0 关注
- 131 浏览
添加回答
举报
0/150
提交
取消