0
我有几个Controllers
,它们都继承BaseController
。ASP.NET MVC基类路由
我有一个Admin Area
设置其中控制器继承BaseController
。在BaseController
里面有一个叫做public JsonResult DoSomething()
的方法。如果这些Controllers
中有一些具有定义了哪个Url.Action
的视图,那么如何在基础控制器中使用Area引用来引用DoSomething()
方法? FruitController的
BaseController
FruitController : BaseController
VegetableController : BaseController
索引视图具有
@Url.Action("DoSomething", ???, new { area = "Admin" })
我不认为有与行动,只是变量构造函数的调用。我只是坚持在每个控制器中定义public JsonResult DoSomething()
,而不管它在BaseController中,因为我似乎无法调用该方法。
这就是我想避免的。我认为创建实际视图的过程非常费力,就像从控制器本身定义视图一样。我猜想可以使用的另一条路线就是在global.asax中定义它。我希望不要做任何这些,只是调用基本控制器,但这似乎不起作用。 – fes 2012-08-04 13:57:32
你可以“打电话到基地控制器”..这就是我说的。您不必在每个控制器上定义DoSomething操作。通过从BaseController继承,它们自动执行该操作。将视图放置在视图的Base文件夹下,MVC引擎将搜索它。 – 2012-08-04 14:04:01
我做了你的建议,因为我认为它也会起作用。尽管做了Base文件夹并创建了视图,但它似乎并不想打。 – fes 2012-08-04 15:12:42