从ASP.NET页面中的Web Api Controller获取价值

时间:2017-02-05 08:41:41

标签: javascript c# asp.net asp.net-web-api pdftron

我有一个web api控制器GET api方法,我在其中调用外部REST服务来获取数据。我想在asp.net页面上显示一段数据(来自我的数据模型类的属性来保存外部Web服务数据)。 api控制器调用存储库类库的方法,在那里我从外部REST服务获取数据并返回我的web api控制器。

我在我使用PDF Tron Web查看器控件的ASP.NET页面上的javascript中调用我的web api控制器获取api方法。

<script src="settings.js"></script>

我不想使用Session(虽然Session不可用,可以使用Session的解决方法),因为它会使我的REST api有状态。

请告知在asp.net页面中从web api控制器获取数据的可用选项。

//Settings.js code

window.WebViewerUniversalInstance.model.set(
{     
    documentUrl: "/api/Document/?type=XOD&docno=101",    
    //serverUrl: "../html5/annotationHandler.php",    //server script for handling annotations
    annotationUser: new PDFTron.WebViewer.User("Guest", false),
    currentPageNumber: 0,
    pageCount: 0,
    zoomLevel: 0,
    fitMode: PDFTron.WebViewer.FitMode.Zoom,
    layoutMode: PDFTron.WebViewer.LayoutMode.SinglePage,
    toolMode: '',
    rotation: 0,
    webViewerLibPath: 'lib/', //URL path to the WebViewer lib folder
    webViewerOptions: { //extra WebViewer options
        silverlightOptions: {
            enableAnnotations: false //disable annotations if silverlight is loaded. 
            }
        }
    }
);

1 个答案:

答案 0 :(得分:0)

documentUrl选项只是一个帮助方法,不能像你想要的那样重载。

如果您想优化到单个服务器调用,那么您可以手动执行此操作,就像通常使用ASP.Net发出任何服务器请求一样。

所以回应

/api/Document/?type=XOD&docno=10

您的服务器可能会返回如下所示的某种响应。

{
  xodurl: url,
  metadata1: data1,
  metadata2: data2
}

然后,您将url参数传递给WebViewer documentUrl参数。