ASP.NET MVC基类路由

时间:2012-08-04 12:53:38

标签: asp.net-mvc-3

我有几个Controllers都继承了BaseController

我有一个管理员Area设置,其中控制器继承BaseControllerBaseController内部有一个名为public JsonResult DoSomething()的方法。如果其中一些Controllers具有定义Url.Action的视图,如何在区域参考中引用基本控制器中的DoSomething()方法?

BaseController
FruitController : BaseController
VegetableController : BaseController

FruitController的索引视图可以调用

@Url.Action("DoSomething", ???, new { area = "Admin" })

我不认为有一个带有动作和变量的构造函数。我只是坚持在每个Controller中定义public JsonResult DoSomething()而不管它是否在BaseController中,因为我似乎无法调用该方法。

1 个答案:

答案 0 :(得分:0)

您在当前所在的控制器上调用DoSomething ...因为它继承了BaseController,它也会执行DoSomething操作。但是,它返回的视图必须位于正确的控制器视图文件夹下。否则您必须明确说明视图的位置..

@Url.Action("DoSomething", "Fruit", ...