我在ASP.NET应用程序内部路由时遇到了问题。当我将我的angularJS移到ASP.NET MVC之外时,它工作正常(在XAMPP上),但是当我在Visual Studio 2013中运行它时,我的索引页是空白的。我真的不知道问题在哪里......有人知道问题在哪里吗?带angularJS的ASP.NET无法加载模板(空白页面没有错误)
这里是我使用的代码:
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运行它吗?它有什么网址?您还需要在角度和ASP .Net中同步路由配置。 – oryol
我在ASP.NET Visual Studio 2013附带的默认IIS服务器上运行它。我不知道问题在哪里。如何将路由配置与angular和asp.net同步? @oryol – jureispro