【发布时间】:2015-02-21 01:39:48
【问题描述】:
我将 angularJS 应用程序从 xampp 移至 ASP.NET Visual Studio。当我加载我的应用程序时,我收到了找不到模板文件的错误消息。
我尝试了几种方法,但都没有奏效...有人知道问题出在哪里吗?
文件层次结构截图:
这里是包含模板的 JS 代码:
app.config(function ($routeProvider) {
$routeProvider
.when('/contacts',
{
controller: 'ContactsController',
templateUrl: '"/home/contacts.html'
})
.when('/add-contact',
{
controller: 'ContactAddController',
templateUrl: '/home/addContact.html'
})
.when('/edit-contact/:contactId',
{
controller: 'ContactEditController',
templateUrl: '/home/editContact.html'
})
.when('/display-contact/:contactId',
{
controller: 'ContactDetailsController',
templateUrl: '/home/displayContact.html'
})
.otherwise({ redirectTo: '/contacts' });
});
这里是 RouteConfig.cs(我保留它在我创建新项目时的状态)
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
【问题讨论】:
-
你的控制器是什么样的?猜测一下,我建议不需要 .html。
-
@DaveWalker 你想知道什么控制器? ASP.NET 控制器为空,这是 angularJS 的 javascript 控制器
-
我认为templateUrl应该是/Views/home/contacts.html
-
那么.html是纯html?在这种情况下,Wayne 是正确的,您没有从站点的根目录中引用它们。如果您想让 MVC 生成控制器,那么您将在 HomeController 中执行操作(例如 public void AddContact() { return View();}
-
模板是纯 HTML @DaveWalker 。我需要修改 HomeControlers.js 吗?我把它留空......
标签: javascript asp.net angularjs