为什么我收到 CS0103 错误 - ViewBag 不存在?

Why did I get CS0103 Error - ViewBag doesn't exist?

我有 VS 2019 Pro 并使用 .net 5 和 C# 9。我使用 ASP.NET Core Web App(没有 MVC)模板创建了一个项目。我收到 C0103 错误“名称 'ViewBag' 在当前上下文中不存在。”这里摘录了index.cshtml.cs代码:

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Options;
using ARTS.Client_Models;
using ARTS.Models;
using repository;
:
:

public IActionResult OnGet()
{
    this.VM = new home_VM(this._app_settings);
    ViewBag.User = new User();

    return Page();
}

我开始怀疑是不是因为我没有使用MVC?如果是,为什么?

Razor 页面不支持ViewBag,需要外包Microsoft.AspNetCore.Mvc.ViewFeatures。但是ViewData是包含在Razor页面中的,所以换成ViewData是更好的方法。

ViewData["User"] = new User();

如果非要用到ViewBag,可以参考这个answer