|
|
1
3
你可能需要建立自己的控制器工厂。此类生成控制器,并实现IControllerFactory。您可以从DefaultControllerFactory继承。重写createcontroller()以返回您自己的icontroller。 使用以下行在MVCAP应用程序的application_start()中注册控制器工厂:
在icontroller的实现中,重写execute方法。您可以使用requestcontext来决定要调用哪个委托。如果您不想完全实现icontroller,那么从controllerbase继承并在其中重写execute可能是最容易的。 传递到execute的requestcontext携带一个routedata对象。这是一个由路由引擎填充的字典,它告诉您应该调用什么操作以及任何参数。您可以得到这样的操作名称:
你甚至可以把你的动作定义为一个字典,一旦你得到了动作名,就把它们取出来。 最后,普通操作方法返回一个actionresult,框架使用它来决定要呈现哪个视图。一旦你执行委托,我认为你将不得不在你的特殊基础控制器中手动设置一些东西。我不确定在不打开mvc源代码的情况下设置什么或如何从这里执行视图。 祝你好运!这看起来是个有趣的主意。 |
|
|
2
1
因为你似乎在实施
|
|
|
3
1
不,它不是。基本控制器正在寻找方法,而不是域来分派操作。
编辑:
|
|
|
Andrus · 如何在Linux中阅读期刊 1 年前 |
|
|
Miranda · 读取xml文件时路径错误中有非法字符 1 年前 |
|
|
Primdonm · 如何将自定义列表中的字符串值格式化为货币格式? 1 年前 |
|
|
Kiryl · Sitecore中自己的控制器 1 年前 |
|
|
Farid · 如何从数据库中填充Resource.resx文件值? 2 年前 |