6

別のActionResultを呼び出すActionResultがあります。

私のcaseステートメントでActionResultを呼び出しましたが、機能しません。これが私が持っているものです:

   public ActionResult GetReport(string pNum)
   {
   ....

        switch (methodId)
        {
          case 1:
          case 5:                
           {
             var actionResult =  GetP1Report("33996",false)  as ActionResult;
              break;
           }
         }

         return actionResult; 
       }

次のエラーが発生します:'actionResult'は現在のコンテキストに存在しません

次のことを行うと機能しますが、必要なものではありません。

    public ActionResult GetReport(string pNum)
   {
      ....

       var actionResult =  GetP1Report("33996",false)  as ActionResult;

        switch (methodId)
        {
          case 1:
          case 5:                
           {
             // var actionResult =  GetP1Report("33996",false)  as ActionResult;
              break;
           }
         }

         return actionResult; 
       }

actionResultをcaseステートメントで機能させて、実行時に表示されるようにするにはどうすればよいですか?

    return actionResult
4

2 に答える 2

8

switchステートメントの外で、最初に(デフォルト値で)宣言するだけです。

 ActionResult actionResult = null;
 switch (methodId)
    {
      case 1:
      case 5: // PVT, PVT-WMT
      {
          actionResult =  GetP1Report("33996",false)  as ActionResult;
          break;
       }
     }

 return actionResult ?? new View(); 

注:?? new View()どのケースにも何も割り当てられない場合に備えて、デフォルト値としてを追加しましたactionResult。必要に応じてこれを変更してください。

于 2012-12-20T22:12:18.590 に答える
0

問題は可変スコープです。dbasemanはほぼ正しかった...これを行う:

public ActionResult GetReport(string pNum)
{
....

    ActionResult actionResult = new View(); // This would typically be assigned a
                                        // default ActionResult
    switch (methodId)
    {
        case 1:
        case 5:                
        {
            actionResult = GetP1Report("33996",false) as ActionResult;
            break;
         }
     }

     return actionResult; 
 }
于 2012-12-20T22:17:15.047 に答える