Razor Pages编辑页跳转克隆页抛出ViewDataDictionary模型类型不匹配异常
问题根因
该报错是典型的Razor Pages视图与后端模型类型不匹配问题,你直接复制了RequestFormEdit的前端页面代码,但没有修改页首的模型声明,导致视图要求接收RequestFormEditModel类型的模型,但是克隆页面的后端实际传入的是RequestFormCloneModel类型,触发类型校验报错。
解决方案
- 打开
RequestFormClone.cshtml文件,找到页面最顶部的@model声明,你当前的声明应该是:
@model ProjectName.Pages.RequestFormEditModel
将其修改为克隆页面对应的后端模型类型即可:
@model ProjectName.Pages.RequestFormCloneModel
- 可选校验项(避免衍生问题)
- 检查
RequestFormClone.cshtml.cs文件中的后端类命名是否确实为RequestFormCloneModel,命名空间与@model声明中的路径保持完全一致 - 如果你不需要为克隆页面单独开发差异化逻辑,也可以直接保留克隆页面的
@model为RequestFormEditModel,同时让RequestFormCloneModel继承RequestFormEditModel,减少重复代码 - 如果页面中引用了局部视图,额外检查局部视图的模型声明和传入的参数类型是否匹配
内容的提问来源于stack exchange,提问作者Teena
相关产品推荐
相关产品推荐

