2016-04-04 28 views
0

//clientjobdescriptionscontroller.cs応答をあるコントローラから別のコントローラに渡すには?

[HttpGet] 
     public void Download(string format, string requests) 
     { 
      List<string> req = requests.Split(',').ToList(); 
      foreach (var item in req) 
      { 
       RequestController controller = new RequestController(); 
       if (format == "I") 
       { 
        Response.Write("rakesh"); 
        controller.DownloadrequirementsInternalUse(Convert.ToInt64(item)); 
       } 
       if (format == "R") 
       { 
        controller.DownloadrequirementsRecruitmentPartner(Convert.ToInt64(item)); 
       } 
       if (format == "CA") 
       { 
        controller.DownloadrequirementsCandidate(Convert.ToInt64(item)); 
       } 
       if (format == "CR") 
       { 
        controller.Downloadrequirementscustomer(Convert.ToInt64(item)); 
       } 
      } 
     } 

// RequestController

public void DownloadrequirementsInternalUse(long Id) 
     { 
      var result = requestService.GetResourceAvailability(Id); 

      JobDescriptionPdfDownload jobDescriptionPdfDownload = new JobDescriptionPdfDownload(); 
      string strOutput = jobDescriptionPdfDownload.DownloadrequirementsInternalUse(Id); 

      Response.ContentType = "application/pdf"; 
      Response.AddHeader("content-disposition", "attachment;filename=JD-Internal-Use-" + result.RequestCode + ".pdf"); 

      Response.Cache.SetCacheability(HttpCacheability.NoCache); 
      CreatePdf(strOutput); 
     } 
+0

を試してみてください'ActionResult'を返さなければならず、通常のクラスメソッドのように使用することができます。 –

答えて

0

はあなたのコントローラをお使いのコントローラにアクションメソッド(戻りのActionResult)を使用し、この

return RedirectToAction("DownloadrequirementsInternalUse", "RequestController", new { id=Convert.ToInt64(item) }); 
+0

コントローラは、上記の操作をさせません。 return RedirectToAction( "DownloadrequirementsInternalUse"、 "RequestController"、new {Id = Convert.ToInt64(item)}); –

+0

両方のコントローラに2つのメソッドを設定して、アクションの結果を復帰させる必要があります。 – MNF

+0

申し訳ありませんが、私はあなたの答えを得ていませんでした。 より具体的に教えてください。 –

0
Use your action method like this 

public ActionResult Download(string format, string requests) 
{ 

} 
+0

試しましたが、実行されていません。 –

+0

[HttpGet] public ActionResultダウンロード(文字列形式、文字列リクエスト) { リスト req = requests.Split( '、')。ToList(); foreach(req内のvarアイテム) { RequestControllerコントローラ= new RequestController(); if(format == "I") { //Response.Write("rakesh "); return RedirectToAction( "DownloadrequirementsInternalUse"、 "RequestController"、new {Id = Convert.ToInt64(item)}); }} } –

+0

このコードは_why_に関する 追加のコンテキストを提供し、質問に答える、および/またはそれが 質問が大幅に長期的 値を改善する回答_how_かもしれないが。あなたの答えを[編集]して、説明を加えてください。 –

関連する問題