c# - MVC ActionResult 调用另一个 ActionResult

标签 c# asp.net-mvc asp.net-mvc-3

我有一个 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

最佳答案

只需先在 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 - 根据需要修改它。

关于c# - MVC ActionResult 调用另一个 ActionResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13981371/

相关文章:

c# - 从 js 函数填充 razor View 上的 viewmodel 属性

asp.net-mvc-3 - MVC3 Html.BeginForm-作为RouteValueDictionary传递参数失败

c# - 如何配置 Ninject 与 ServiceStack.net 一起工作

css - 本地网站使用(IP 地址或机器名称)与本地主机呈现不同?

asp.net-mvc - 为asp.net MVC 3创建自定义错误页面,需要禁用http模块

c# - 从 .NET 4.0 方法写入控制台

c# - 发送邮件 Asp.Net 时出现 "Authentication failed"错误

c# - AutoMapper 中 IValueFormatter 的替代方案是什么?

c# - C# 静态方法模板

asp.net-mvc - 向 MVC 添加报告功能?