微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决为什么我收到 CS0103 错误 - ViewBag 不存在?

我有 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。