無法將部分視圖與模型一起使用。我創建了一個名為的新 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 關注
- 176 瀏覽
添加回答
舉報
0/150
提交
取消