URL显示两次MVC控制器名称

时间:2017-02-07 04:42:32

标签: angularjs asp.net-mvc

我正在使用.net mvc和angular js。

HomeController

    public ActionResult Index()
    {
        return View();
    }

在角度控制器中,有一项服务可以获取所有项目详细信息

   [HttpGet]
    public JsonResult GetItemDetails()
    {
         // return item list
    }

如果我在Visual Studio中没有打开HomeController的情况下运行解决方案,我发现404错误说没有找到资源。 我在网络中注意到的另一件事是被叫URL是“/ Home / Home / GetItemDetails”。

但是当我在visual studio中打开HomeController时,一切都会正常工作。  它是如何发生的?

2 个答案:

答案 0 :(得分:0)

确保您的路由值和您调用的网址是同一个。

routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );

为此,URL看起来像/ Home / Index

验证您在Angular中使用的URL,并且您可能会在某处添加控制器名称两次。

答案 1 :(得分:0)

$ http.get(“Home / GetItemDetails”)这是我用来调用控制器方法的URL。 我在这个

中错过了斜线

所以解决方案是$ http.get(“/ Home / GetItemDetails”)

谢谢。