在MVC中,例如我有5个不同的控制器文件。在所有这些中,我有一种保存图像的方法。有没有办法将此方法放在一个地方和每个控制器方法来访问它,而不是在每个控制器中写入它? 我试过了
MyController.MyMethod();
但是在写完点后,Intellisence没有显示它。
答案 0 :(得分:9)
将它放在实用程序类中并使其成为静态。从您的控制器,您需要做的就是:
Utility.SaveImage(...);
答案 1 :(得分:6)
使用基本控制器
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();
}
}