Razor在重构后的模型中使用了自定义类的旧名称

本文关键字:自定义 重构 模型 Razor | 更新日期: 2023-09-27 18:10:00

我的网站上有多个项目,这里暗示的是:

  • Common:包含一个我用重构重命名的类(比如我把它从OldName重命名为NewName)
  • ViewModels:包含一个名为MyModel的ViewModel,它的属性类型是OldName,但现在它的类型是NewName
  • 网站:一个asp.net mvc4网站与剃刀,在那里我试图显示一个文本框@Html.EditorFor(model => model.Town)

当我完成重构时,一切都是正确的,我的模型中的类型改变了,从public OldName Town { get; set; }变为public NewName Town { get; set; }

但是当我运行我的应用程序,它试图执行剃刀模板,其中@Html.EditorFor(model => model.Town)是实现它不断抛出一个异常说There is no type 'OldName' in the model

我尝试删除临时asp.net文件,删除bin/debug文件夹,更改所涉及的剃刀模板,重建解决方案,停止服务器并再次尝试所有这些,没有任何工作,我仍然得到相同的错误。

我也没在google上找到任何相关信息…(但也许我没有输入正确的关键字)。

有谁知道我该如何解决这个问题吗?

提前感谢您的帮助

Razor在重构后的模型中使用了自定义类的旧名称

您必须将EditorTemplate中的model类型更改为NewName,并将EditorTemplate的实际文件名更改为NewName.cshtml