C# 无法将带[]的索引应用于类型为的表达式
我有这个简单的MVC4代码。我查询数据库并获得所有结果,然后保存在ViewBag对象中,然后使用foreach循环它们,但结果出错: 无法将带[]的索引应用于类型为的表达式 不让我给他们看。我错过了什么 下面是使用entityframework的sql查询C# 无法将带[]的索引应用于类型为的表达式,c#,asp.net-mvc,foreach,C#,Asp.net Mvc,Foreach,我有这个简单的MVC4代码。我查询数据库并获得所有结果,然后保存在ViewBag对象中,然后使用foreach循环它们,但结果出错: 无法将带[]的索引应用于类型为的表达式 不让我给他们看。我错过了什么 下面是使用entityframework的sql查询 public ActionResult Index() { var ReturnLabelsAndInputsForIndexations = Conexion.MainConexion; var IndexationFor
public ActionResult Index()
{
var ReturnLabelsAndInputsForIndexations = Conexion.MainConexion;
var IndexationForm = ReturnLabelsAndInputsForIndexations.Labels.ToList();
ViewBag.IndexationForm = IndexationForm;
return View();
}
和索引视图
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
<table>
@foreach (var Indexacion_Labels in ViewBag.IndexationForm)
{
<tr>
<td>@Indexacion_Labels["LABELS"]//Exception HERE</td>
<td>@GetInputType(Indexacion_Labels["INPUT_TYPE"], Indexacion_Labels["NAME"])</td>
</tr>
}
</table>
</div>
</body>
</html
指数
@foreach(ViewBag.IndexationForm中的var Indexacion_标签)
{
@Indexacion_标签[“标签”]//此处例外
@GetInputType(Indexacion_标签[“输入类型”]、Indexacion_标签[“名称”])
}
ReturnLabels和InputsForIndexations.Labels的类型(无论是什么类型)不实现。要解决此问题,您需要将其添加到标签的视图模型中
public this[string index]
{
get
{
...
}
}
或者将视图代码更改为类似的内容(假设视图模型的属性存在)
@Indexacion_标签
@GetInputType(Indexacion_Labels.Input_Type,Indexacion_Labels.Name)
<tr>
<td>@Indexacion_Labels.Labels</td>
<td>@GetInputType(Indexacion_Labels.Input_Type, Indexacion_Labels.Name)</td>
</tr>