2017-10-30 2 views
0

私はasp.net MVCプロジェクトに取り組んでおりオブジェクトが割り当てられません。

public Division ToDivision() 
     { 
      Division d = new Division(); 
      Name = this.Name; 
      Active = this.Active; 
      return d; 
     } 

その後、私のビューモデルに次のコードを持っているんだ、私のコントローラでは、私は次のような方法があります。

public ActionResult Create(DivisionViewModel divisionViewModel) 
     { 
      if (ModelState.IsValid) 
      { 
       Division division; 
       division = divisionViewModel.ToDivision(); 
       _divisionService.Create(division); 
       return RedirectToAction("Index"); 
      } 

      return View(divisionViewModel); 
     } 

部門があります割り当てられていない。どうしてこれなの?私はそれが私が見ていない非常に単純な何かの気持ちを持っています

+0

「部門が割り当てられていません」という意味はありますか?割り当て行にコンパイル時にエラーがありますか?そうでない場合、特に問題は何ですか? – Shyju

+0

この行は何をしますか、 '_divisionService.Create(division);'? '.Create'メソッドについて詳しく説明できますか? –

+2

「割り当てられていない」とはどういう意味ですか? 'Name'と' Active'の値が割り当てられていないことを意味しますか?もしそうなら、決してそれらを設定しないでください。あなたは 'd.Name = this.Name、' – MFisherKDX

答えて

4

あなたの関数ToDivisionでは、Name = this.Nameは同じ値なので何もしません。あなたはd.Name = this.Nameをする必要があります。 Activeについても同様です。試してみてください:

public Division ToDivision() 
{ 
    Division d = new Division(); 
    d.Name = this.Name; 
    d.Active = this.Active; 
    return d; 
} 
+1

のように' d.Name'と 'd.Active'を忘れました。 OPのコードと同じです) –

+0

@StephenMueckeはい。私が書いたように:*次の関数では... * – MFisherKDX

+0

OPのコードを繰り返すことはあまりありません - 正しいコードを表示する方がいいです:) –

3

あなたのコードの例からは、プロパティのメンバーの割り当てとメソッドにオブジェクトの初期化を使用するようですが、その代わりにd.NameNameメンバーに割り当てられています。次のイニシャライザを試してみてください:

public Division ToDivision() 
{ 
    Division d = new Division() 
    { 
     Name = this.Name; 
     Active = this.Active; 
    } 
    return d; 
} 
関連する問題