Asp.net core mvc 在包含TempData时使用where子句的正确方法?ASP网络核心

Asp.net core mvc 在包含TempData时使用where子句的正确方法?ASP网络核心,asp.net-core-mvc,razor-pages,Asp.net Core Mvc,Razor Pages,我正在做一个项目,我试图根据TempData存储的StaffID显示评论。我使用where子句来显示基于用户TempData存储的StaffID的特定评论 我努力实现的目标如下: 在上图中,我对它进行了硬编码,我相信我的Where子句工作正常。我只需要知道如何正确使用Where子句,同时将TempData包含在内,以便它直接从SQL数据库获取StaffID 下面的图片是当我运行代码时,没有使用数据库中的硬编码值,因此无法运行时发生的情况。如果有人知道,请帮助我。多谢各位 控制器代码(其中rev

我正在做一个项目,我试图根据
TempData
存储的
StaffID
显示评论。我使用where子句来显示基于用户
TempData
存储的
StaffID
的特定评论

我努力实现的目标如下:

在上图中,我对它进行了硬编码,我相信我的
Where
子句工作正常。我只需要知道如何正确使用
Where
子句,同时将
TempData
包含在内,以便它直接从
SQL
数据库获取
StaffID

下面的图片是当我运行代码时,没有使用数据库中的硬编码值,因此无法运行时发生的情况。如果有人知道,请帮助我。多谢各位

控制器代码(其中revieweId.Equals(@TempData[“StaffID”]
是我需要帮助的部分):

public异步任务InvokeAsync()
{
var applicationUserClass=_context.Review.Where(r=>r.ReviewCategoryID.ToString().Equals(“601C21CF-0916-4C40-B158-D7253858386F”)。其中(r=>r.reviewEid.Equals(@TempData[“StaffID”])。包括(r=>r.ReviewCategorys)。包括(r=>r.Staff)。包括(r=>r.Staff);
返回视图(等待applicationUserClass.ToListSync());
}

如果要在where中使用TempData,可以使用TempData[“xxx”]。ToString()

下面是一个演示:

Student s = _context.Student.Where(stu => stu.Id.ToString().Equals(TempData["id"].ToString())).ToList()[0];
结果:

@TempData在我看来,你似乎在尝试使用插入c#代码的Razor语法。对不起,是的,我使用的是Razor页面。除此之外,你不能在c#方法中使用Razor模板。哦,有什么想法吗?我该如何通过仍然使用TempData来显示where子句。我可以看到,你的代码的问题是,你在其中使用了Razor语法。你是否pdata对象已初始化,我不知道,但在B一般情况下,这不是传递数据的好方法。Omg..我一直在为这件事绞尽脑汁,我只是一名学生,所以我非常缺乏经验,但我在最后一部分添加了TempData[“xxx”].ToString();它对我有效。
Student s = _context.Student.Where(stu => stu.Id.ToString().Equals(TempData["id"].ToString())).ToList()[0];