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

标签 c# .net asp.net-core viewbag

我有 VS 2019 Pro 并使用 .net 5 和 C# 9。我使用 ASP.NET Core Web 应用程序(没有 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 .

关于c# - 为什么我收到 CS0103 错误 - ViewBag 不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66697651/

相关文章:

c# - Bot Framework v4 加载 Facebook Webview

c# - 在 cshtml 页面内异步加载

.net - 从代码调用 Azure 函数

c# - 执行 FloodFill 的不同方法

c# - 在 C# 中,如何在嵌套的 foreach 循环中强制迭代 IEnumerable?

C#:初始化类变量

.net - 不同IsolationLevel的Inner TransactionScope,如何实现?

c# - 从 WCF 服务打印 HTML 到网络上的特定打印机

c# - 将 IHttpContextAcessor 注入(inject)到 Controller 操作内的绑定(bind)模型中

asp.net-core - 401初始错误未调用ASP.NET核心应用程序.UseStatusCodePagesWithReExecute