在定位索引页面时使用Url.Action
我遇到了一个需要的时候没有生成“完全合格”路线的情况。以下代码演示了此问题:
var junk = Url.Action("Index2", "Reference", new { area = "Admin" });
junk = Url.Action("Index", "Reference", new { area = "Admin", memberID = 47 });
第一次调用Url.Action()会产生/ Admin / Reference / Index2。第二个调用产生/ Admin / Reference,我猜因为“Index”是默认标识符。
不幸的是,路由映射(我没有修改,因为它是由VS2010生成的)当然会将第二条路由处理为根区域中Admin控制器上的Reference方法的调用。路由解析器无法知道第二个链接是否真正用于Admin区域中Reference控制器的Index处理程序。
一个明显的解决方法是在区域内的控制器中没有Index方法。但这看起来很难看。我对更好/更强大的方法感兴趣。
没有找到相关结果
已邀请:
1 个回复
惭法搽