angularjs和Asp.Net MVC中的模板而不是templateUrl?

时间:2014-08-08 05:03:26

标签: asp.net-mvc angularjs angularjs-routing route-provider

我在AngularJs中使用Asp.Net mvc 4。我想使用$routeProvider中的模板而不是templateUrl

我想使用这个

$routeProvider.when('/url', { template: '/view/page.html',controller: 'myCtrl' })

而不是这个

$routeProvider.when('/url', { templateUrl: '/view/page',controller: 'myCtrl' })

每次我需要实现页面时,我都不想在控制器中创建方法(只包含返回PartialView())。有可能吗?

感谢。

1 个答案:

答案 0 :(得分:4)

如果我正确理解您的问题,您就是在尝试加载html模板而不必使用控制器。

要做到这一点,只需在您的Web项目中创建一个名为Templates的新文件夹,然后在RouteConfig.cs中添加一行以忽略此文件夹,如下所示:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("Templates/{filename}.html");
    ...
}

然后在角度中,您可以使用模板网址并获取您的文件:

$routeProvider.when('/url', { templateUrl: '/templates/page.html',controller: 'myCtrl' })

Angular将能够使用您的模板而您不需要控制器。