0

私はそのようなビューモデルを持っています

    public class NoteViewModel
    {
      public tblNotes tblnote { get; set; }   
    }

私のコントローラーでは、コントローラーがビューモデルを認識できるように、ビルドを行った後に次のことを行います。

    NoteViewModel viewModel= new NoteViewModel();

    viewModel.tblnote.NoteModeID  = 1234; // get error here

    return PartialView(viewModel);

ただし、次のエラーが表示されます。

{"オブジェクト参照がオブジェクト インスタンスに設定されていません。"}

4

2 に答える 2

0

正確には何tblNotesですか?参照型の場合viewModel.tblNotenull、コードの最初の行が実行された後です。

于 2012-07-23T16:01:55.460 に答える
0

タイプは何tblNotesですか?(補足: C# では、慣例として、クラス名は大文字で始める必要があります。)

これはカスタム型、つまり参照型であるため、デフォルト値はnullです。そのため、新しいインスタンスを作成するNoteViewModelと、特に指定がない限り、すべてのメンバーがデフォルト値に設定されます。その値はnullであるため、ここでは使用できません。

viewModel.tblnote.NoteModeID = 1234;

型について詳しく知らなくても、簡単な答えは、ビュー モデルのコンストラクターでそのメンバーをインスタンス化することです。

public class NoteViewModel
{
    public tblNotes tblnote { get; set; }

    public NoteViewModel()
    {
        tblnote = new tblNotes();
    }
}

このようにして、ビューモデルが作成されるたびにオブジェクトがインスタンス化されるため、それを使用できます。

于 2012-07-23T16:03:00.303 に答える