0
我想定義一個擴展控制器方法。這可能嗎?當我嘗試它,它編譯,但我收到了404,而不是200如何創建ASP.NET MVC控制器擴展?
public static ActionResult MyMethod(this Controller)
{
return new EmptyResult();
}
我想定義一個擴展控制器方法。這可能嗎?當我嘗試它,它編譯,但我收到了404,而不是200如何創建ASP.NET MVC控制器擴展?
public static ActionResult MyMethod(this Controller)
{
return new EmptyResult();
}
你不能有一個靜態的操作方法,所以這是不行的。
你可以做的反而是創建一個基控制器類與公共實例方法:
public class BaseController : Controller
{
public ActionResult MyMethod()
{
return new EmptyResult();
}
}
我試圖創建處理一些網絡掛接,我想通過的NuGet使可用的模塊。如果我要求人們從我的基類繼承,它將減少使用,因爲你只能從一個類繼承。 – Doug
在這種情況下,您可能需要考慮一個[ActionFilter](http://msdn.microsoft.com/en-us/library/system.web.mvc.actionfilterattribute(v = vs.108).aspx)。 – jrummell
謝謝。看起來只是寫一個HttpHandler可能是這裏的一種方式,因爲它更具可擴展性。但你確實按照問題回答了這個問題。 – Doug