URL 显示 MVC 控制器名称两次



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

首页控制器

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

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

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

如果我在没有在视觉工作室中打开HomeController的情况下运行解决方案,则发现404错误,指出找不到资源。我在网络中注意到的另一件事是调用的URL是"/Home/Home/GetItemDetails"。

但是当我在Visual Studio中打开HomeController时,一切都会正常工作。 这是怎么回事?

确保路由值和调用的 URL 相同。

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

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

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

$http.get("Home/GetItemDetails"( 这是我用来调用控制器方法的URL。我错过了斜杠

所以解决方案是$http.get("/Home/GetItemDetails"(

谢谢。

最新更新