ASP.NET MVC入门报错:当前上下文不存在‘View’,求解决
解决“当前上下文不存在名称‘View’”报错
问题根源:你当前继承的
ControllerBase是专门为API控制器设计的基类,它不包含视图渲染相关的View()方法。ASP.NET MVC中负责返回视图的控制器,需要继承Controller类——这个类基于ControllerBase扩展,添加了视图处理的全部功能。代码修改步骤:
- 将控制器的基类从
ControllerBase改为Controller - 确保代码顶部引用了
Microsoft.AspNetCore.Mvc命名空间(IDE通常会自动补全,若没有则手动添加)
- 将控制器的基类从
修改后的完整代码:
using Microsoft.AspNetCore.Mvc; namespace EmptyCore.Controller { public class HomeController : Controller { private IBookRepository _bookRepository; public HomeController(IBookRepository bookRepository) { _bookRepository = bookRepository; } public ViewResult Index() { return View(); } } }
- 额外验证项:
- 确认项目类型是ASP.NET MVC项目(而非纯API项目),API模板默认不会包含视图相关的依赖和配置
- 检查视图文件路径是否符合约定:需放在
Views/Home/Index.cshtml,文件夹名对应控制器名(去掉末尾的Controller),文件名对应动作方法名
内容的提问来源于stack exchange,提问作者Robert Ukawuba
相关产品推荐
相关产品推荐

