2016-04-17 12 views
0

Ich lerne angular und Web API und steckte ein bisschen mit Routing. Zum Beispiel möchte ich Produkte mit dem folgenden localhost anzeigen: 53967/Produkte.

Meine Bewerbungsdatei ist wie folgt.

(function() { 

var productListApp = angular.module("productManagement", ["common.services", "ui.router"]); 

productListApp.config(function ($stateProvider, $urlRouterProvider) { 
    $urlRouterProvider.otherwise("/");//default url 


    $stateProvider.state("productList", { 
     url: "/products", 
     templateUrl: "app/products/productListView.html", 
     controller: "ProductListController" 
    }) 

}); 

})();

Ich habe auch eine Index.cshtml Seite wie folgt eingerichtet.

<div class="container"> 
    <div ng-view></div> 
</div> 

WebApiConfig

config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 

      defaults: new { id = RouteParameter.Optional } 
     ); 

Dies ist meine Global.asax

protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 
     GlobalConfiguration.Configure(WebApiConfig.Register); 
     RouteConfig.RegisterRoutes(RouteTable.Routes); 
     BundleConfig.RegisterBundles(BundleTable.Bundles); 
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 

    } 

localhost:53967/products Datei gibt ein 404. Was der Fehler sein könnte?

Grüße

+0

Haben Sie schon einmal localhost überprüft: 53967/#/products oder localhost: 53967/index #/products. –

Antwort

1

localhost: 53967/Produkte gibt ein 404. Was ist der Fehler sein könnte?

Sie suchen wahrscheinlich nach http://localhost:53967/api/products anstelle von http://localhost:53967/products. Stellen Sie sicher, dass Sie mit Ihrem Weg Erklärungen konsistent sind:

config.Routes.MapHttpRoute(
    name: "DefaultApi", 
    routeTemplate: "api/{controller}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
); 

Sie haben einen api/ Präfix bekam dort, so sollte der Kunde auch diese respektieren.