【发布时间】:2014-12-23 17:07:34
【问题描述】:
我在 ASP.NET 应用程序中遇到路由问题。当我将我的 angularJS 移到 ASP.NET MVC 之外时,它工作正常(在 XAMPP 上)但是当我在 Visual Studio 2013 中运行它时,我的索引页面是空白的。我真的不知道问题出在哪里...有人知道问题出在哪里吗?
这是我正在使用的代码:
angularJS 路由脚本:
var app = angular.module('contactsManager', ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider
.when('/contacts',
{
controller: 'ContactsController',
templateUrl: 'templates/contacts.html'
})
.when('/add-contact',
{
controller: 'ContactAddController',
templateUrl: 'templates/addContact.html'
})
.when('/edit-contact/:contactId',
{
controller: 'ContactEditController',
templateUrl: 'templates/editContact.html'
})
.when('/display-contact/:contactId',
{
controller: 'ContactDetailsController',
templateUrl: 'templates/displayContact.html'
})
.otherwise({ redirectTo: 'templates/contacts' });
});
ASP.NET 主控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Templates()
{
return PartialView();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
}
ASP.NET 路由配置:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("templates", "templates/{action}/{name}",
new { controller = "Home", action = "Templates", name = "" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
【问题讨论】:
-
你如何部署你的应用程序?您是否从 IIS Express 运行它?它有什么网址?您还需要在 Angular 和 ASP .Net 中同步路由配置。
-
我在 ASP.NET Visual Studio 2013 附带的默认 IIS 服务器上运行它。我不知道问题出在哪里。如何将路由配置与 angular 和 asp.net 同步? @oryol
标签: javascript c# asp.net asp.net-mvc angularjs