You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Web App出现CS0246错误:找不到AddTeacherPage等类型的解决方法

解决Razor页面CS0246找不到页面模型类的问题

1. 确认对应的Page Model类已创建

你Razor页面里@model AddTeacherPage指定的类,必须有对应的.cshtml.cs代码文件(比如AddTeacher.cshtml.cs),里面要定义继承自PageModel的类:

public class AddTeacherPage : PageModel
{
    // 这里放页面的逻辑代码,比如绑定属性、请求处理方法
}

如果这些.cshtml.cs文件缺失或未创建,直接补充即可。

2. 核对命名空间是否一致

Razor页面的命名空间默认与文件夹结构挂钩(比如Pages/Teachers下的页面,命名空间为StudentAndClassWebApp.Pages.Teachers),要保证.cshtml.cs文件的命名空间和Razor页面的隐含命名空间完全匹配。

若不确定,可以在Razor页面顶部显式声明命名空间:

@namespace StudentAndClassWebApp.Pages.Teachers

同时将.cshtml.cs文件的命名空间修改为一致内容。

3. 清理缓存并重新生成项目

Razor源生成器的缓存可能出现异常,导致g.cs文件无法找到对应类,按以下步骤操作:

  • 右键项目 → 清理
  • 手动删除项目根目录下的bin和obj文件夹
  • 右键项目 → 重新生成

4. 检查项目配置文件

打开项目的.csproj文件,确认已包含Razor页面和Page Model的引用配置:

<ItemGroup>
  <Pages Include="Pages/**/*.cshtml" />
  <PageModels Include="Pages/**/*.cshtml.cs" />
</ItemGroup>

若缺失这段配置,手动添加后保存即可。

5. 检查@model指令的拼写

C#是大小写敏感语言,确保@model后面的类名拼写、大小写与代码文件中的类完全一致,比如不要把AddTeacherPage误写为AddTeacherModel。


内容的提问来源于stack exchange,提问作者Emir Bolat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 10:54:21