asp.net-core - Entity FrameWork Core 不显示查询返回的值
问题描述
我正在尝试从页面上的列中显示特定值,并且我正在使用 ASP.NET Core MVC 和 Entity FrameWork Core 来执行此操作。我面临的问题是它不返回列值,而是返回一些方法。
这是控制器
public IActionResult newTicket()
{
string getUsername = HttpContext.Session.GetString("username");
ViewBag.username = _context.users.Where(o => o.username == getUsername).ToList();
return View();
}
所以基本上这个动作应该做什么,它应该首先从会话中获取用户名。然后,它应该在数据库中运行一个查询,如果数据库中有类似的用户名,则使用 viewbag 将用户名的值传递给视图。风景
<input class="form-control w-50" asp-for="cName" required="required" value="@ViewBag.username"/>
这就是输出的样子,我不希望它看起来像那样,我希望它显示用户名。
https://i.stack.imgur.com/n6dXo.png
如果我不得不通过另一种语言(PHP MySQL)来解释我在这个问题中的意思,那就是。
$query = mysqli_query($connection_variable,"SELECT * from complaints
WHERE username = '$username'");
while ($row = mysqli_fetch_assoc($query))
{
echo $row['username'];
}
这就是我的意思,如果我没有解释,你可以询问细节。
解决方案
您可以在查看以下内容时执行以下操作:
@foreach(User usr in ViewBag.username)
{
<b>@usr.username</b>
}
但是现在您所做的只是调用默认ToString()
的收集方法。这就是你得到这个结果的原因。您应该调用该集合中元素的属性。
或者你可以试试这个:
ViewBag.username = _context.users.FirstOrDefault(o => o.username == getUsername);
推荐阅读
- java - Is calling close() on object returned by MockitoAnnotations.openMocks(Object) is mandatory?
- typescript - 根据未定义检查参数,但编译器仍然警告 TS2532
- xcode - 从 Flutter 项目中删除蓝牙使用
- python - 如何在 python django 的导航栏中获取图像?
- python - 如何通过Django导出多个文件
- python - Python 3 中的堆实现
- python - 如何在 Python 中列出所有类 cached_properties?
- html-table - HTML 表格在 Open Office Writer 中无法正确显示
- azure - 如何在 Python 中从 YAML 文件创建 Azure ML Inference_Config 和 Deployment_Config 类对象?
- arrays - 当我的索引是变量时无法访问数组值