【发布时间】:2021-01-16 04:53:28
【问题描述】:
我正在 repo 中创建一个异步任务,然后从控制器访问它以尝试最小化控制器中的逻辑。
问题是,当我在控制器中使用完全相同的逻辑时,有一个输出,现在我以这种方式访问,它没有搜索它。
存储库:
public async Task<List<Guests>> GetGuesteByAsync(string Search)
{
var list = GetAll();
var listquery = from x in context.Guest select x;
if (!string.IsNullOrEmpty(Search))
{
listquery = listquery.Where(x => x.FullName.Contains(Search) || x.Organisation.Contains(Search));
}
return await context.Guests.ToListAsync();
}
控制器:
[HttpGet]
public async Task<ActionResult> Index(string Search)
{
ViewData["Getsearchinput"] = EmpSearch;
//List<Guests> listofguests = await repository.GetGuesteByAsync(Search);
var res = await (repository.GetGuesteByAsync(Search));
return View(res);
}
【问题讨论】:
-
“什么都没发生”是什么意思?代码是否挂在某行?实际发生了什么?
-
视图随着搜索输入改变链接,但列表没有更新
-
哪些列表没有更新?
-
从控制器中的存储库调用的异步方法生成的列表。
-
你检查的是哪个列表,
var list = GetAll();看起来不像是用过的。
标签: c# asp.net asp.net-mvc async-await