无法将部分视图与模型一起使用。我创建了一个名为的新 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 关注
- 203 浏览
添加回答
举报
0/150
	提交
		取消
	