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

CS0103报错:ASP.NET项目添加GetCssClass后失效 重启VS无法解决

根因分析

你遇到的CS0103报错核心原因是语法兼容性问题:switch 表达式是C# 8.0才支持的特性,而.NET Framework 4.7默认配套的C#版本为7.3,不支持该语法。这导致GetCssClass属性编译失败,编译器无法识别该成员,即便撤销前端绑定代码,后台语法错误仍然存在,所以报错会持续触发。

解决方案

1. 修复GetCssClass属性语法

将原switch表达式写法替换为.NET 4.7兼容的switch case语句:

protected string GetCssClass
{
    get
    {
        switch (Position)
        {
            case 1:
                return "generic-content_align generic-content_align–left";
            case 2:
                return "generic-content_align generic-content_align–center";
            case 3:
                return "generic-content_align generic-content_align–right";
            default:
                return "";
        }
    }
}

2. 彻底清理Visual Studio残留缓存

常规清理重建无法生效时,删除VS本地缓存文件:

  • 关闭所有Visual Studio窗口
  • 删除解决方案根目录下的隐藏文件夹.vs
  • 手动删除每个项目目录下的bin、obj文件夹
  • 重启Visual Studio重新加载解决方案,执行重建操作

3. 优化重复执行逻辑

删除OnInit方法中重复的BindEventData(EventDocumentID);调用,SetupControl中已经执行过该逻辑,重复调用无意义且可能引发意外问题。

验证步骤

修改完成后重新生成解决方案,启动项目即可恢复正常。如果仍有报错,核对ascx头部Inherits属性值是否与后台类的命名空间+类名完全一致,排除拼写错误。

内容的提问来源于stack exchange,提问作者Tomislav S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:54:04