ASP.NET MVC Razor View 使用@model 时出现 PDFTron Web 查看器 HTTP 404 错误

PDFTron Web Viewer HTTP 404 error on ASP.NET MVC Razor View on using @model

PDFTron Web 查看器未显示在 ASP.NET 使用@model 的 Razor 视图中。我收到 HTTP 404 - Not Found 错误。不使用@model,并在控制器中删除 return View(doc); 并使用 return View(); PDFTron Web 查看器显示 XOD 文档,但在使用 @model 时 XOD 查看器不显示。

Razor 视图如下。删除 @model XODViewer.DataModel.Document 并将 return View(doc); 更改为 return View(); 让它工作。我需要将视图绑定到模型 class 以访问视图上我的模型的属性。

PDFTron 是否不支持在绑定到模型的 MVC Razor 视图上显示 Web 查看器控件?

@model XODViewer.DataModel.Document

@{
    ViewBag.Title = "Document";
}

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/lib/WebViewer.min.js"></script>

<style>
    #viewer {
        width: 1024px;
        height: 600px;
    }
</style>

<script>
        $(function () {
            var docName = 'GettingStarted.xod';
            var viewerElement = document.getElementById('viewer');
            var myWebViewer = new PDFTron.WebViewer({
                path: 'lib',
                type: 'html5',
                documentType: "xod",
                initialDoc: "lib/GettingStarted.xod",
                config: '',
                streaming: false,
                enableAnnotations: false,
                enableOfflineMode: false,
                enableReadOnlyMode: true
            }, viewerElement);
        });
</script>

<h2>Document</h2>


<div id="viewer" style="overflow: auto;width:100%;">
</div>

WebViewer 构造函数中的 lib 参数用于将 WebViewer 指向其库,特别是 html5 子文件夹。

我会尝试将该参数设置为绝对路径,而不是相对路径,因为看起来相对路径不起作用,因为您的 404 错误消息表明它找不到 lib/html5/ReaderControl.html

它现在已经开始使用相对路径,视图现在绑定到模型 class。

@model XODViewerApp.Model.Document

@{
    ViewBag.Title = "Document";
}

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/lib/WebViewer.min.js"></script>

<style>
    #viewer {
        width: 1024px;
        height: 600px;
    }
</style>

<script>
        $(function () {
            var viewerElement = document.getElementById('viewer');
            var myWebViewer = new PDFTron.WebViewer({
                path: 'lib',
                type: 'html5',
                documentType: "xod",
                initialDoc: "lib/GettingStarted.xod",
                config: '',
                streaming: false,
                enableAnnotations: false,
                enableOfflineMode: false,
                enableReadOnlyMode: true
            }, viewerElement);
        });
</script>

<h2>Document</h2>

<div id="viewer" style="overflow: auto;width:100%;">
</div>