使用angularjs渲染umbraco的局部视图

时间:2017-08-05 14:22:51

标签: angularjs umbraco

我正在尝试使用我的控制器中的一种表格形式呈现一个对话框。

我创建了一个简单的局部视图:

@using formulate.app.Types
@{
            // Get a view model for the picked form.
    var pickedForm = Model.Content.GetPropertyValue<ConfiguredFormInfo>("formPicker");
    var vm = formulate.api.Rendering.GetFormViewModel(pickedForm.FormId, pickedForm.LayoutId,
        pickedForm.TemplateId,
        // Include this parameter in Formulate 0.3.7 or greater.
        Model.Content);

}

<md-dialog>
    <form ng-cloak>
        <md-toolbar></md-toolbar>
        <md-dialog-content><p>@Html.Partial("~/Views/Partials/Formulate/RenderForm.cshtml", vm)</p></md-dialog-content>
        </form>
</md-dialog>

然后在我的页面中添加了一个简单的函数,显示了使用此模板的对话框:

<script>
    var app = angular.module('app', ['ngMaterial'])
    .controller('JobCtrl', function($scope, $mdDialog){


        $scope.showDialog = function(ev){
            $mdDialog.show({
                templateUrl: <path-to-partial-view>,
                parent: angular.element(document.body),
                targetEvent: ev,
                clickOutsideToClose:true
            });
        };
    });
</script>

最后,在我的页面html中,我用ng-click调用此函数:

<md-button class="md-primary md-raised" ng-click="showDialog($event)">שלח קו"ח למשרה זאת</md-button>

当我点击这个按钮时,屏幕会变暗,就像有一个阴影(这就是角度 - 材质如何显示一个对话框),没有错误,但没有任何东西被渲染,我根本看不到对话框。

1 个答案:

答案 0 :(得分:0)

请试试这个,这是一个有效的例子。

将此代码添加到html文件。

 class ClientC(BaseClient):
 ....
     def create(self,entity_id=None, data):
         if entity_id:
             raise RedudantInformationError("Value for entity_id does nothing")
         pass

脚本

  <script type="application/ng-template" id="dialog-template">
    @using formulate.app.Types
    @{
       var pickedForm = Model.Content.GetPropertyValue<ConfiguredFormInfo>("formPicker");
       var vm = formulate.api.Rendering.GetFormViewModel(pickedForm.FormId, pickedForm.LayoutId, pickedForm.TemplateId, Model.Content);

     }

    <md-dialog>
        <form ng-cloak>
            <md-toolbar></md-toolbar>
            <md-dialog-content>
              <p>@Html.Partial("~/Views/Partials/Formulate/RenderForm.cshtml", vm)</p></md-dialog-content>
        </form>
    </md-dialog>
  </script>