gpt4 book ai didi

.net - 如何在 ViewBag 中传递变量列表

转载 作者:行者123 更新时间:2023-12-05 08:54:10 33 4
gpt4 key购买 nike

我正在做一个项目,我只需要从两个表中获取数据,我想使用 LINQ Query 来获取数据。

在我的 Controller 中:

var Parameters = (from test in _db.tblAddTests
join par in _db.tblParameters on test.AddTestId equals
par.TestId
where par.ParameterDatatype == 3
select new
{
ParameterId = par.ParameterId,
ParameterName = par.ParameterName,
TestName = test.TestName
}
).ToList();
ViewBag.Parameters = Parameters;

我想在我的 Razor 中使用这个参数:

@foreach (var item in ViewBag.Parameters)
{
<option value="@item.ParameterId">@item.ParameterName - @item.TestName</option>
}

它目前给我的错误是该对象没有定义 ParameterId。虽然我已经尝试调试并且项目也正在获取值,但我不确定如何显示它们,

这是我得到的值的屏幕截图项目变量中的值:
Values in item variable

还有错误的截图:

Error

最佳答案

您正在使用匿名类型。在这种情况下是行不通的。使用已知类型或动态类型。即:

var Parameters = (from test in _db.tblAddTests
join par in _db.tblParameters on test.AddTestId equals
par.TestId
where par.ParameterDatatype == 3
select new ParamsClass
{
ParameterId = par.ParameterId,
ParameterName = par.ParameterName,
TestName = test.TestName
}
).ToList();
ViewBag.Parameters = Parameters;

public class ParamsClass
{
public int ParameterId {get; set;}
public string ParameterName {get; set;}
public string TestName {get; set;}
}

在 View 中:

@foreach (ParamsClass item in ViewBag.Parameters)
{
<option value="@item.ParameterId">@item.ParameterName - @item.TestName</option>
}

关于.net - 如何在 ViewBag 中传递变量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51171162/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com