1

ここでnullオブジェクト参照を取得する理由を理解するのに助けが必要です:

私は2つのモデルを持っています:

public class loadViewModel
{
    public importacaoConfig importacaoConfig { get; set; }
}

public class importacaoConfig
{
    public List<DocTypeModel> tipo { get; set; }
}

私のコントローラーです。モデルにリストを渡します。

gedaiapp.Models.loadViewModel model = new gedaiapp.Models.loadViewModel();    
model.importacaoConfig.tipo = obj; -> Here obj is of type List<DocTypeModel>

これは私に与えます:

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

チェックしたところ、objリストには3つの要素があります。ここでnullとなる参照はどれですか?理解できません。

4

3 に答える 3

4

問題はこれです:

model.importacaoConfig.tipo

インスタンス化していない ため、nullになりますimportacaoConfig(したがって、その行で例外が発生するのはなぜですか。

この行を追加して、インスタンス化します(2つの既存の行の間)。

model.importacaoConfig = new importacaoConfig();

したがって、コントローラーは次のようになります。

gedaiapp.Models.loadViewModel model = new gedaiapp.Models.loadViewModel();
model.importacaoConfig = new importacaoConfig();    
model.importacaoConfig.tipo = obj;
于 2013-01-29T12:27:45.130 に答える
1

デバッガーを実際にチェックインする必要がありますが、以下はnullであると想定します。

model.importacaoConfig

を作成するときに初期化していないためですloadViewModel

次のことを行うコンストラクターが必要です。

public loadViewModel()
{
    importacaoConfig = new importacaoConfig();
}

また、変数にクラスに異なる名前を付けることも考えます。

于 2013-01-29T12:27:34.037 に答える
0

試す

importacaoConfig.tipo=new List<DocTypeModel>();

初期化していないtipo

于 2013-01-29T12:27:58.267 に答える