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