2014-01-22 61 views
0

我的的ReportServer asp.net的網頁表單的工作從asp.net的MVC調用時....asp.net的MVC調用的ReportViewer顯示報表文件夾(不報告)

第一個問題: ,但我有什麼與正在顯示一個報告文件夾內容的麻煩......我在Windows中直接從瀏覽器移植於形式窗戶的ReportServer功能及以下作品也 :

http://www.mydomain.com/Reports/Pages/Folder.aspx?ItemPath=%2fB.+TBS 

但是當我嘗試使用這個從asp.net嵌入在asp.net mvc我得到一個錯誤,除非我提供ReportServerUrl我 w如下所示:http://www.mydomain.com/ReportServer 我試過

serverReport1.ReportPath =「/Pages/Folder.aspx?ItemPath=%2fB.+TBS」;

以及在此其他變化,我無法弄清楚如何顯示文件夾...

第二個問題:目前我沒有被提示登錄......我還沒有設置在模擬web.config ....我想讓用戶輸入他們的用戶ID和密碼....我如何強制這種情況發生。

這裏是我當前的Page_Load:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 


     ReportViewer1.ShowParameterPrompts = true; 
     ReportViewer1.ShowToolBar = true; 
     ReportViewer1.ShowRefreshButton = true; 
     ReportViewer1.ShowCredentialPrompts = true; 



     ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote; 
     ServerReport serverReport1 = ReportViewer1.ServerReport; 

     //This works to display a report...   
     // serverReport1.ReportServerUrl = new Uri("http://www.mydomain.com/ReportServer"); 
     // serverReport1.ReportPath = "/B. TBS/B.2. Departments"; 

     //This works too...same thing ...getting ready to put into web.config... 
       string url = @"http://www.mydomain.com/ReportServer"; 
       string ReportName = "B. TBS/B.2. Departments"; 
       serverReport1.ReportServerUrl = new System.Uri(url); 
       serverReport1.ReportPath = string.Format("/{0}", ReportName); 

     //This works in Windows, but not here...outputs..Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml' 
     //  serverReport1.ReportServerUrl = new Uri("http://www.mydomain.com/Reports/Pages/Folder.aspx?ItemPath=%2fB.+TBS"); 

     // serverReport1.ReportServerUrl = new Uri("http://www.mydomain.com/ReportServer"); 
     // serverReport1.ReportPath = "/Pages/Folder.aspx?ItemPath=%2fB.+TBS"; 

    } 
} 

這是我目前的asp.net的網頁表單:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReportViewer.aspx.cs" Inherits="TBS.Etracs.Web.Main.Reports.Reports" %> 


<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" 
      Namespace="Microsoft.Reporting.WebForms" 
      TagPrefix="rsweb" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server" style="width:100%; height:100%;"> 
    <div> 

    </div> 
     <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
     <rsweb:ReportViewer ID     ="ReportViewer1" 
          runat     ="server" 
          Width     ="100%" 
          Height    ="100%" 
          SizeToReportContent ="True" > 
     </rsweb:ReportViewer> 
    </form> 
</body> 
</html> 

感謝。

回答

0

我發現在我的困惑是從哪裏來....

的... /報告/ ....接口與ReportService的內露出ReportManager服務...

雖然傳統的..../ReportService/....正在使用ReportService中的ReportViewer服務。

對於Windows(我正在從其移植功能)應用程序正在使用ReportManager和ReportService接口....但我不知道這些是兩種不同的服務....我認爲它們都是函數的ReportViewer服務,我不知道爲什麼該文件夾的視圖不工作......

該Windows應用程序也使用ReportExplorer(客戶端)應用程序...它沒有類似的功能網絡端....

我想通過鏈接到當前的ReportManager接口,我可以做我想做的事情...這不需要我使用一個asp.net ReportViewer作爲客戶端控制的控制。

我現在只是一個重定向到ReportServer ...最終我會用一個IFrame(或IFrame like)網頁替換,它將與asp.net mvc應用程序共享一個共同的母版頁,這樣我就可以製作報表服務器網頁與應用程序的其餘部分具有相同的頁眉和頁腳。

相關問題