20

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

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 上阅读的内容。当我回到这个问题时,任何帮助将不胜感激。

4

1 回答 1

36

创建一个ControllerBase继承自 的类,Controller将此方法放入其中。

让您的控制器从您的基本控制器继承 - 他们将使用此实现。

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
}
于 2013-02-27T20:27:46.497 回答