【问题标题】:PDFTron Web Viewer HTTP 404 error on ASP.NET MVC Razor View on using @modelASP.NET MVC Razor View 上的 PDFTron Web 查看器 HTTP 404 错误使用@model
【发布时间】:2017-02-15 11:51:40
【问题描述】:

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

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

PDFTron 不支持在绑定到模型的 MVC Razor View 上显示 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>

【问题讨论】:

  • 你的解决方案中有这样的路径吗:Documents/lib/html5/ReaderController.html ???
  • @ImanSalehi:我没有将明确的路径定义为:Documents/lib/html5/ReaderController.html。这是 PDFTron Web 查看器控件使用的文件,并且已经作为我的 VS 解决方案的一部分存在。

标签: asp.net-mvc pdftron


【解决方案1】:

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

@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>

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 设置像path:'D:\Projects\XodWebViewerApp\XODWebViewerApp\lib\html5\ReaderControl.html' 这样的绝对路径根本不会显示PDFTron WebViewer 控件。此外,当它部署到 IIS 或 Azure 时,必须提供相对路径。在这种情况下,不能为 ReaderControl.html 文件使用绝对路径。另外,为什么具有ReaderControl.htlml 文件的相对路径的 WebViewer 控件正在使用未绑定到模型类的 View 并且不使用绑定到模型类的 View?这是 PDFTron WebViewer 控件中的错误吗?
    • 它现在已经开始使用相对路径。不确定 PDFTron Web 查看器控件中是否存在导致 HTTP 404 Not found 错误的错误,突然它开始使用现在绑定到模型类的视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 1970-01-01
    • 2020-10-18
    • 2017-03-02
    • 2018-07-15
    相关资源
    最近更新 更多