4

例如,在 MVC 中,我有 5 个不同的控制器文件。在所有这些中,我都有一种保存图像的方法。有没有办法把这个方法放在一个地方,每个控制器方法都可以访问它,而不是把它写在每个控制器中?我试过了

 MyController.MyMethod();

但是在我写下点之后,智能并没有显示出来。

4

2 回答 2

9

将其放在实用程序类中并使其成为静态。从您的控制器中,您需要做的就是:

Utility.SaveImage(...);
于 2012-04-27T11:32:54.767 回答
8

使用基本控制器

public abstract class BaseController : Controller
{
    protected virtual void MyMethod()
    {
        // Do stuff
    }
}

然后你的控制器继承你的基本控制器

public class HomeController : BaseController
{
    public ActionResult Index()
    {
        this.MyMethod();
        return View();
    }
}

或者,您可以创建一个静态帮助程序类

public static class Helper
{
    public static void MyMethod()
    {
        // Do stuff
    }
}

public class HomeController
{
    public ActionResult Index()
    {
        Helper.MyMethod()
        return View();
    }
}
于 2012-04-27T11:32:16.043 回答