【问题标题】:How to call parameterized constructor controller action in another controller?如何在另一个控制器中调用参数化构造函数控制器动作?
【发布时间】:2017-01-05 06:13:06
【问题描述】:

我有两个控制器。第一个控制器具有参数化构造函数和一些方法。现在我必须在我的另一个控制器中调用这些方法。有什么办法吗?

下面是代码

public partial class oneController : Controller
{
   private readonly IEmployeeService _employeeService;
   public oneController(IEmployeeService employeeService)
   {
      this._employeeService = employeeService;
   }

   // some methods


}

public partial class twoController : Controller
{
  // Need to call some methods from oneController
}

【问题讨论】:

  • 两者在同一个文件中还是在不同的文件中?
  • 两个控制器都有单独的文件..
  • return RedirectToAction("youactionname","twoController", new{ your parameters }) ..
  • 亲爱的mmushtaq,我不重定向..我只想用参数调用方法并在第二个控制器操作中获取返回值..意味着我不想重复我已经创建的方法第一个控制器。
  • stackoverflow.com/questions/16870413/… 这可以是您的解决方案

标签: c# asp.net-mvc object service constructor


【解决方案1】:

您可以通过以下方式实现:

public partial class twoController : Controller{
     oneController  one = new oneController();
     one.AnyMethod(AnyParam);
}

但是您正在尝试做一些控制器不是为之设计的事情。如果您有一些可以从多个controllers 访问的通用方法,则在某个类中创建所需的方法作为公共方法,并从您想要的任何控制器/操作中调用。

【讨论】:

    猜你喜欢
    • 2022-11-15
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多