如何在Razor页面中访问其他静态类的静态方法?
问题排查与解决
你遇到的“DBConnection在当前上下文不存在”问题,可从以下几个方向排查:
1. 确认项目引用与命名空间正确性
- 若
DBConnection类位于单独的类库项目中,需确保Razor页面所在的Web项目已添加该类库的项目引用(右键Web项目 → 添加 → 项目引用,勾选目标类库)。 - 检查
@using OsrsPriceHistory.Helpers语句的拼写,C#对大小写敏感,需与类的命名空间完全一致。
2. 修正Razor代码块的语法
你当前的@code块代码不完整,正确调用静态方法的示例如下:
@code { private IMongoDatabase? _database; protected override void OnInitialized() { _database = DBConnection.getDatabase(); } }
不完整的代码片段可能触发IDE误报,补全代码后再验证是否仍有错误。
3. 清理IDE缓存并重建项目
IDE的缓存可能导致错误提示异常,执行以下操作:
- 清理解决方案:点击顶部菜单「生成」→「清理解决方案」
- 重建所有项目:点击「生成」→「重建解决方案」
- 重启IDE后再检查代码
4. 验证类的访问权限
确认DBConnection类的访问修饰符为public(你的代码中已设置,此步可快速确认),确保类对Razor页面所在项目可见。
内容的提问来源于stack exchange,提问作者D74
相关产品推荐
相关产品推荐

