【发布时间】:2021-01-20 09:05:21
【问题描述】:
我尝试使用 HttpGet 操作方法,但收到错误消息。
我按照 this Youtube Video 的教程制作了一个 CRUD 应用程序,但我收到了 2 条错误消息,所以我从 here 复制了代码,但没有任何区别。
我还安装了 NuGet 包 Microsoft.AspNetCore.Http 和 System.Net.Http,我认为我可能遇到问题是因为缺少一个包,但它也没有帮助。
下面是PeopleController.cs下的代码:
using CuriousDriveTutorial.Data.Models;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
namespace CuriousDriveTutorial.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class PeopleController: ControllerBase
{
//dependancy injection for applicationdbcontext
private readonly ApplicationDBContext context1;
public PeopleController(ApplicationDBContext context) { this.context1 = context; }
}
//get action method
[HttpGet]
public async Task<IActionResult> Get() => await context1.People.ToListAsync();
}
以下是第 22 行 (public async Task<IActionResult> Get() => await context1.People.ToListAsync();) 的错误消息:
-
- CS0116 命名空间不能直接包含字段或方法等成员。
-
- CS0103 当前上下文中不存在名称“context1”。
红色的 squiggly 线位于 Get 和 context1 的下方。另外,我不知道这些信息是否有用,但该项目是 Blazor 应用程序。
【问题讨论】:
-
您的
//get action method和随附的代码必须在PeopleController类中