我正在尝试设置索引页路由。它的工作方式如下:
routes.MapRoute("", "", new {controller = "Home", action = "Index"})但是如果我用T4MVC替换它:
routes.MapRoute("", "", MVC.Home.Index());不知何故,它不起作用(我得到了一个“资源找不到”错误)。好像我做了几百万次,而且成功了。那我做错什么了?
更新.
我使用了路由调试器,发现了ASP.NET MVC路由和T4MVC路由的区别在于,T4MVC添加了Area=,而ASP.NET MVC没有(它只保留控制器和操作)。
发布于 2014-07-16 10:51:23
这个问题是由装配绑定的一些问题引起的。我查看了VS中的警告,按了两次有关汇编绑定的警告,它们都是固定的。这个问题对我很有帮助:T4MVC ArgumentOutOfRangeException in View
发布于 2014-07-14 14:42:07
更新(7/15/2014):作为一种解决办法,我认为你需要在你的项目中添加一个虚拟区域。
原来的答案:
如果您在MapRoute调用上“进入定义”,您能检查它是否确实进入了T4MVC重载吗?注意,如果您在某个区域,则需要调用MapRouteArea。
发布于 2014-07-13 21:13:12
请注意,MVC.Home.Index()返回ActionResult
如果您想获得操作和控制器的名称,则必须编写:
MVC.Home.Index().GetT4MVCResult().Controller -控制器名称MVC.Home.Index().GetT4MVCResult().Action -操作名称
编辑:
routes.MapRoute("", "", new {controller = MVC.Home.Index().GetT4MVCResult().Controller, action = MVC.Home.Index().GetT4MVCResult().Action})https://stackoverflow.com/questions/24723627
复制相似问题