Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc w/Url.Action当目标指向索引页时_Asp.net Mvc_Area_Ambiguous_Url.action - Fatal编程技术网

Asp.net mvc w/Url.Action当目标指向索引页时

Asp.net mvc w/Url.Action当目标指向索引页时,asp.net-mvc,area,ambiguous,url.action,Asp.net Mvc,Area,Ambiguous,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

我遇到的情况是,在需要时,没有生成“完全合格”的路由。以下代码演示了该问题:

        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生成以来,我没有修改过)当然会将第二个路由作为根区域中管理控制器上的引用方法的调用来处理。路由解析程序无法知道第二个链接实际上是用于管理区域中引用控制器的索引处理程序的


一个明显的解决方法是在区域内的控制器中不使用索引方法。但这看起来很难看。我对更好/更稳健的方法感兴趣。

好的,没关系。原来问题是一个不正确的区域名称和一个需要能够响应GET的方法上的HttpPost属性的组合。请忽略

好的,没关系。原来问题是一个不正确的区域名称和一个需要能够响应GET的方法上的HttpPost属性的组合。请忽略

好的,没关系。原来问题是一个不正确的区域名称和一个需要能够响应GET的方法上的HttpPost属性的组合。请忽略。您可以将您的解决方案发布为下面的答案,然后接受它。(点击大复选标记)好的,没关系。原来问题是一个不正确的区域名称和一个需要能够响应GET的方法上的HttpPost属性的组合。请忽略。您可以将您的解决方案发布为下面的答案,然后接受它。(通过单击大复选标记)