2017-02-05 2 views
0

У меня есть API-интерфейс api-контроллера GET api, в котором я вызываю внешнюю службу REST для извлечения данных. Я хочу показать часть данных (свойство из моего класса модели данных для хранения данных внешних веб-сервисов) на странице asp.net. Контроллер api вызывает метод библиотеки классов репозитория, где я извлекаю данные из внешней службы REST и возвращаюсь в свой веб-контроллер api.Получить значение из Web Api Controller на странице ASP.NET

Я вызываю свой веб-api contoller get api method в javascript на странице ASP.NET, где я использую средство просмотра веб-просмотра PDF Tron.

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

Я не хочу использовать сессии (хотя сессия не доступна, обходные доступны для использования сессии), как это сделало бы мой REST API с учетом состояния.

Просьба сообщить, какие опции доступны для извлечения данных из веб-контроллера api на странице asp.net.

//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. 
      } 
     } 
    } 
); 
+0

Не могли бы вы пояснить, что именно вы подразумеваете под «Я хочу показать кусочек данных на странице asp.net». Вы упоминаете WebViewer, но это отображает только файлы XOD или PDF, поэтому неясно, как это относится к остальной части вашего вопроса. – Ryan

+0

@ Ryan: Как и в средстве просмотра PDF Tron, я называю ASP.NET web api следующим: documentUrl: "/ api/Document /? Type = XOD & docno = 101". Этот веб-вызов api также извлекает другие данные, кроме фактического документа XOD. Я хочу отобразить другие данные, полученные из веб-api-вызова на странице ASP.NET. Пожалуйста, дайте мне знать, если это уточнит ваш запрос. –

+0

Чтобы уточнить, documentUrl не является частью API WebViewer, поэтому я считаю, что этот параметр используется для получения дополнительных данных. Пока неясно, как WebViewer имеет какое-либо отношение к вашему вопросу. У вас может быть больше шансов получить ответ на ваш вопрос asp.net, если вы удалите части WebViewer. Или, если вопрос о WebViewer, удалите несвязанные части ASP.Net. – Ryan

ответ

0

Опция documentUrl является лишь вспомогательным методом и не может быть перегружена, как вы пытаетесь сделать.

Если вы хотите оптимизировать работу с одним вызовом сервера, то вы сделаете это вручную самостоятельно, точно так же, как обычно вы делаете любой запрос сервера с помощью ASP.Net.

Таким образом, в ответ на

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

ваш сервер может возвращать какой-то ответ, как показано ниже.

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

Затем вы передадите параметр url параметру documentUrl WebViewer.

Смежные вопросы