4

たとえば、MVCには、5つの異なるコントローラーファイルがあります。それらすべてに、画像を保存する方法があります。すべてのコントローラーに書き込むのではなく、このメソッドを1つの場所に配置し、すべてのコントローラーメソッドにアクセスする方法はありますか?私は試した

 MyController.MyMethod();

しかし、ドットを書いた後、Intellisenceはそれを表示していません。

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 に答える