如何从需要URL的AngularJS控制器访问嵌入式资源(.html)?

时间:2015-11-18 12:19:27

标签: javascript c# .net angularjs asp.net-mvc

如何从需要HTML路径的AngularJS javascript控制器访问嵌入式资源(.html)?

一些背景:我有一个.NET MVC站点,几个可移植区域(使用MvcContrib)在不同的项目中生成带有嵌入式控制器,视图,css,js和amp;的.DLL。 HTML。然后在主.NET MVC站点中引用这些DLL。

其中一个便携式区域使用AngularJS,之前它是使用MEF(Microsoft可扩展性框架)的完整.NET MVC项目,但是我正在转移到便携式区域并取消MEF。

便携式领域都运行良好,我的主要MVC应用程序按预期命中控制器和视图,嵌入在程序集中的CSS和JS文件被访问。

现在挑战是使用AngularJS,从服务器端获取c#.net的嵌入资源是正常的,但当角度寻找javascript中现在嵌入的文件的路径时,如何处理它。

一个例子

$scope.editObject = function () {

    var modalEditObject = $modal.open({
        templateUrl: $rootScope.applicationFolder + '/views/editObject.html',
        controller: 'CRUDObjectController',
        windowClass: 'popup',
        size: 'lg',
        resolve: {
            object: function () {
                return $scope.gridApi.selection.getSelectedRows()[0];
            }
        }
    });

 .....

在上面的示例中,此行正在查找要使用的相应HTML文件。但是,这现在是大会的一个嵌入式资源。

templateUrl: $rootScope.applicationFolder + '/views/editObject.html'

1 个答案:

答案 0 :(得分:0)

您可以在templateUrl上使用提供url路径的函数:

喜欢这样

templateUrl:myFunc的,

$ scope.myFunc = function(){return $ rootScope.applicationFolder +' /views/editObject.html'}