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

Joh*_*ine 5 .net c# viewbag asp.net-core

我有 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();
}
Run Code Online (Sandbox Code Playgroud)

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

Kar*_*ey. 4

Razor页面不支持ViewBag,需要外部包Microsoft.AspNetCore.Mvc.ViewFeatures。但ViewData包含在Razor页面中,因此将其替换为ViewData是更好的方法。

ViewData["User"] = new User();
Run Code Online (Sandbox Code Playgroud)

如果一定要使用ViewBag,可以参考这个答案