0

この単純な MVC 4 コードがあります。データベースにクエリを実行してすべての結果を取得し、ViewBag オブジェクトに保存してから、foreach でそれらをループしますが、エラーが発生します。

タイプの式に [] を使用したインデックスを適用できません

それらを表示させません。何が欠けていますか?

ここでエンティティフレームワークを使用したSQLクエリ

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
4

1 に答える 1

1

の型(それが何であれ) はindexerReturnLabelsAndInputsForIndexations.Labelsを実装しません。これを解決するには、これをラベルのビューモデルに追加する必要があります

public this[string index]
{
    get
    {
        ...
    }
}

または、ビュー コードを次のように変更します (ビュー モデルのプロパティが存在すると仮定します)。

<tr>
    <td>@Indexacion_Labels.Labels</td>
    <td>@GetInputType(Indexacion_Labels.Input_Type, Indexacion_Labels.Name)</td>
</tr>
于 2013-03-24T03:49:29.940 に答える