如何从Web Api返回调用Angular函数

时间:2014-09-19 15:34:08

标签: angularjs model-view-controller asp.net-web-api

我在我的项目中使用PDFSharp。我需要在保存文档后打开模态。打开模态的功能在Angular控制器中。我该怎么做?

WebApi控制器

 // Save the document...
           const string filename = @"C:\Users\texas_000\Desktop\TexasExterior\TexasExterior\JobSetupPdfs\HelloWorld.pdf";

            document.Save(filename);
            // ...and start a viewer.
           // Process.Start(filename);
        }
        catch (Exception ex)
        {
            Debug.Print(ex.ToString());
        }
        return string.Empty;

打开模态的功能

$scope.PrintPreviewModal = function () {
    $ekathuwa.modal({
        id: "PrintPreviewModal", contentStyle: "width:800px;heigth:400px",
        scope: $scope,
        templateURL: "ModalPrintPreview"
    });
}

2 个答案:

答案 0 :(得分:1)

我假设您知道如何通过角度应用程序进行API调用。

在你进行api调用并返回之后,你想要执行$ scope.PrintPreviewModal()

如果您正在使用promises,则需要在获得200响应代码时执行的Success函数中执行此操作。我希望这会有所帮助。

 $scope.save = function () {
        save(params, success, error); //api call to save doc
    };

    var success = function () {
       $scope.PrintPreviewModal(); //open modal
    };

    var error = function () {
      //do something
    };

答案 1 :(得分:0)

我不确切地知道你是如何调用WebApi控制器的,但我想象(因为你正在使用Angular)你正在使用Angular&#39 ; s $http服务。

如果是这样,只需在通话结束时打开承诺success上的模式:

$http.get('/SaveTheDocumentWebApiAction').success(function (){
    $scope.PrintPreviewModal();
});