2017-10-06 15 views
0

私はDIとしてCastle Windsorを使用しており、データ層にアクセスして実装するためにリポジトリを使用しています。 レポにすべてのデータアクセスレイヤーを実装したので、APIコントローラーでこれらのメソッドを呼び出すときが来ました。私はしかし、私はエラーメッセージを取得しています:MVCのコントローラAPIでVoidメソッドモデルを呼び出す方法は?

enter image description here

レポからの方法は以下の通りです:

public void CreateReport(TReportHeaderModel model) 

     { 

      using (var connection = new TReportEntitiesConnection()) 
      { 

       connection.THeader.Add(new THeader() 
       { 

        ClientID=model.ClientID, 
        ID=model.ID, 
        THeaderTitle=model.THeaderTitle, 
        RowNumber=model.RowNumber 

       }); 


       foreach (var d in model.TReports) 
       { 
        connection.TReport.Add(new TReport() 
        { 

         ID=d.ID, 
         TReportName=d.TReportName, 
         URL=d.URL, 
         RowNumber=d.RowNumber, 



        }); 

       } 

       connection.SaveChanges(); 


      } 



       throw new NotImplementedException(); 
     } 

、私はこれらを渡すために持っているように私は私のAPIコントローラに移動しますHTTP JSON形式で:

[HttpPost] 
    public CreateReport([FromBody] TReportHeaderModel model) //Method must have a return type 

    { 


     try 
     { 
      _tReportingService.CreateReport(model); 

      return new ActionResultModel() //return void, must not be followed by object expression 
      { 
       Success = true, 
       Message = "Report Successfully Created." 
      }; 

     } 


     catch (Exception ex) 

     { 
      return new ActionResultModel() 
      { 
       Success = false, 
       Message = "Report not created.", 
       Obj=ex.Message 

      }; 


     } 


    } 
+0

関数を戻り値の型を持っている必要があります。あなたのケースでは、それを 'public ActionResultModel CreateReport([FromBody] TReportHeaderModelモデル)'に変更してください。 –

+0

私はそれを見逃していたことを私は気付かなかった。どうもありがとうございます!投稿に回答を投稿する場合は、必ず投票します。 –

答えて

0

あなたがここにdynamicしたり、モデルクラスを使用することができ、それが返すので、それは、機能であるvoidではありません値です。

[HttpPost] 
    public dynamic CreateReport([FromBody] TReportHeaderModel model) //Method must have a return type 

    { 
} 
1

あなたのメソッドは、戻り値の型を必要とC#で、標準に従って

[HttpPost] 
public ActionResult CreateReport([FromBody] TReportHeaderModel model) //Method must have a return type 
{ 
    // Body 
} 
関連する問題