首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >资源未找到- dx:ASPxDocumentViewer -仅在开发机器上

问资源未找到- dx:ASPxDocumentViewer -仅在开发机器上
EN

Stack Overflow用户
提问于 2016-09-28 11:55:34
回答 1查看 534关注 0票数 0

我在这里描述的问题只影响到我的开发机器。部署到不同的服务器(测试和生产)不会显示这种行为。

我有一个简单的ASPX (ReportViswer.aspx)页面,其中包含一个DevExpress报表查看器,如下所示:

代码语言:javascript
复制
<%@ Page Title="" Language="C#" MasterPageFile="~/SiteV2.Master" AutoEventWireup="true" CodeBehind="ReportViewer.aspx.cs" Inherits="MyApp.Platform.Reports.ReportViewer" %>

<%@ Register Assembly="DevExpress.XtraReports.v16.1.Web, Version=16.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.XtraReports.Web" TagPrefix="dx" %>

<asp:Content ID="cntPageTabs" ContentPlaceHolderID="cphPageTabs" runat="server">
    <ul class="nav nav-tabs">
        <li class="active">
            <a href="#tab-page" data-toggle="tab" aria-expanded="true" class="myapp-ctrl-noprogress">Page</a>
        </li>
    </ul>
    <div class="tab-content tab-content-for-page">
        <div class="tab-pane active" id="tab-page">
            <asp:Button ID="btnToolbarClose" runat="server" Text="Close" CssClass="btn btn-default" OnClick="btnToolbarClose_OnClick"/>
        </div>
    </div>
</asp:Content>


<asp:Content ID="Content3" ContentPlaceHolderID="cphMainContent" runat="server">
    <dx:ASPxDocumentViewer ID="ReportDocumentViewer" runat="server"></dx:ASPxDocumentViewer>
</asp:Content>

除了实例化XtraReport并将其分配给报表查看器之外,页面本身并没有做什么真正聪明的事情:

代码语言:javascript
复制
protected void Page_Load(object aSender, EventArgs aEventArgs)
{
    if (!IsPostBack)
    {
        if (Session["ReportParams"] == null)
        {
            ShowErrorMessage("No report information was passed.");
            return;
        }
        ReportParametersHelper reportParams = new ReportParametersHelper();
        reportParams.Deserialize(Session["ReportParams"].ToString());

        XtraReport reportToView = null;

        switch (reportParams.ReportName)
        {
            case ReportNames.REPORT_DISCOVERY_DOCUMENT:
                reportToView = new ReportDiscoveryDocument();

                (reportToView as ReportEmailMessage).Activate(ReportParams.Params);
                break;
        }
    }
}

Response.Redirect(~/reports/reportviewer) 4.6.1解决方案是针对我的开发机器上的Windows 10上的IIS 10运行的,当我试图通过一个简单的WebForms打开上面的页面时,会提示我输入用户名和密码:

​

​

或者最终找不到错误的资源:

​

​

应用程序在配置为: DefaultApp池时运行:

​

​

所以我的问题是:

  1. 为什么这在生产和分期上工作,而不是在我的开发机器上工作(即ReportViewer显示得很好,没有问题)
  2. 这个页面是.NET 2.x,这可能与IIS相关吗?(见截图)
  3. 对如何调试这个有什么想法吗?我不能在这台机器上写报告。

DevExpress一直没有帮助,因为他们想要一个小的示例项目-虽然我知道测试线束没有显示这种行为,所以它是在这个更大的项目。

因此,任何见解或想法将不胜感激,我很高兴提供更多的诊断信息,视需要。

EN

回答 1

Stack Overflow用户

发布于 2016-09-30 17:13:20

此问题可能是由您的开发机器路由设置而不是由DevExpress组件引起的。如果是这样的话,即使您将ASPxDocumentViewer控件从WebForm中移除,也可以复制它。

尝试将以下路由格式传递给您的Response.Redirect方法"~/reports/reportviewer.aspx“。这是默认的ASP.NET WebForms路由格式,当您使用"~/reports/reportviewer“IIS尝试打开文件夹而不是网页时,将请求授权并引发404错误。由于不同的路由设置,此问题在另一台计算机上不可复制。有关路由如何在ASP.NET路由中工作的更多信息,请参见ASP.NET MSDN文章。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39746744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档