2016-07-01 10 views
-1

Dictionary<int, double>の値を表示することは可能でしょうか?ASP.NET Core MVCビューでの辞書のキーと値の設定

@for (int i = 0; i < Model.Certificates.Count; i++) 
{ 
    <tr> 
     <td>@Model.Certificates[i].Text</td> 
     <td><input type="hidden" name="@Model.Dictionary.ElementAt(i).Key" value="@Model.Certificates[i].Value" /></td> 
     <td><input name="@Model.Dictionary.ElementAt(i).Value"/></td>           
    </tr> 
} 

しかし、私はこの種のエラーを取得していますが:

NullReferenceException: Object reference not set to an instance of an object.

+1

問題は、ビューに渡すモデルにディクショナリ(null)が含まれていることです。だからあなたはこれに何もアクセスすることはできません。なぜそれがnullであるのかを調べ、それがヌルでないかどうか、そしてそれがどの要素にもアクセスしないことを確認することによって、あなたのビューでこれを世話するべきです。 – Christos

+2

「ビューから値を転記するときにディクショナリ値を設定できますか?」という質問があります。または「ビューがレンダリングされているときにオブジェクト参照例外が発生するのはなぜですか?」という質問です。 – Luke

+0

あなたにはもっとコードを与える必要があります。あなたはあなたのモデルから 'Dictionary'プロパティをどこで初期化しますか? – brothers28

答えて

0

辞書が初期化され

は、今のところ私はこのようになります。一例を試してみましたよ?あなたがどこかで新しい辞書として辞書を宣言していない場合は、Countを得ることができません。そのため、それはあなたにヌル参照エラーを与えています。

+0

辞書を初期化しましたが、私のビューにエラーが表示されます _ArgumentOutOfRangeException:指定された引数が有効な値の範囲外です。 パラメータ名:index_ このエラーは、私の辞書では私の辞書のサイズが正しくないことを意味するので、 –

関連する問題