2017-12-11 14 views
0

.Any()linqメソッドを使用すると、MVCの部分表示でエラーが発生するという問題が発生しています。このエラーは、このメソッドを使用するとnull参照エラーが発生するというエラーです。コントローラ内の同じlinqコードではこの問題は発生しません。 。mvcビュー内で.any()を使用する際に問題がありますか?

<div class="row"> 
@{ 
    //This line causes the page to throw an error: 
    var isSelected = Model.ListOfReferenceType.Any(c => c.ReferenceType.Id == listTypeId); 

    @if (isSelected) 
    { 
     <input type="checkbox" name="SomeCheckBox" id="SomeCheckBox" checked="checked" /> 
    } 
    else 
    { 
     <input type="checkbox" name="SomeCheckBox" id="SomeCheckBox" /> 
    } 

} 
</div> 

linq関数の一部がレンダリングエンジンで問題を引き起こす既知の問題ですか?

注:ここでは、.netコアとnancyを使用しています。これが洞察を提供するかどうかはわかりません。

+5

エラーが発生した場合はいつでも、そのエラーがあなたの質問の一部であることを正確に分けておくと役に立ちます。 – itsme86

+2

あなたのListOfReferenceTypeにあなたが思うものが含まれていること、そしてそのリスト内のすべてのオブジェクトがあなたが呼び出すことができる有効なReferenceTypeを持っていることは確かですか?それは私のリスト上では "多分MVCビューで.Any()を使うことができない"よりもずっと高いからです。 ;) –

+2

'Model'はNULLですか? 'Model.ListOfReferenceType'はNULLですか? – Shyju

答えて

2

あなたは1を持っているし、コンストラクタ内のプロパティListOfReferenceTypeを開始しない場合は、あなたのモデルを行うコンストラクタを追加し、これを避けるために。これにより、プロパティがnullにならないようになります。

public class Example 
{ 
    public Example() 
    { 
     this.data = new List<int>(); 
    } 

    public List<int> data 
    { 
     get; 
     set; 
    } 
} 
関連する問題