asp.net mvc 4 -在多个控制器之间共享方法

本文关键字:控制器 之间 共享 方法 net mvc asp | 更新日期: 2023-09-27 18:01:39

我在六个控制器中调用了相同的方法。现在我在每个控制器之间复制粘贴。所有控制器都在同一个命名空间中。该方法根据传递的id返回bool值。例如:

public bool CheckSubmission(int id =0)
{
    Get Records from DB with criteria
    If Record available return true
    else return false
}

我已经离开c++ c#一段时间了,找不到如何写这些。我知道在Rails中,我可以将共享功能放在ApplicationController中。我在SO上看到了一些关于这个的问题,但没有一个明确的例子,它们更多的是沿着OOP的路线阅读。任何帮助,我会很感激,因为我回到这个。

asp.net mvc 4 -在多个控制器之间共享方法

创建一个继承自ControllerControllerBase类,并将此方法放在其中

让你的控制器继承你的基本控制器-他们将得到这个实现使用。

public class ControllerBase : Controller
{
  public bool CheckSubmission(int id = 0)
  {
    Get Records from DB with criteria
    If Record available return true
    else return false
  }
}
public class SomethingController : ControllerBase
{
    // Can use CheckSubmission in here
}