0

我在控制器中的下载报告操作

public FileContentResult DownloadReport(string cityString, string areaString, string subareaString, string businessString, string format)
    {
        LocalReport report = new LocalReport();
        report.ReportPath = Server.MapPath("~/Reports/MemberReport.rdlc");

        ReportDataSource rd = new ReportDataSource();
        rd.Name = "DataSet1";

        if (cityString != null || areaString != null || subareaString != null || businessString != null)
        {
            var c = GetMem();

            var cd = "query which return a list from variable c"
            rd.Value = cd.ToList();
        }
        else
        {
            rd.Value = GetMem();
        }

        report.DataSources.Add(rd);


        string reportType = format;
        string mimeType;
        string encoding;
        string fileNameExtension;

        //string deviceInfo = "<DeviceInfo>" + "<OutputFormat>" + format + "</OutputFormat>" + "<PageWidth>8.5in</PageWidth>" + "<PageHeight>11in</PageHeight>" + "<MarginTop>0.5in</MarginTop>" + "<MarginLeft>0.5in</MarginLeft>" + "<MarginRight>0.5in</MarginRight>" + "<MarginBottom>0.5in</MarginBottom>" + "</DeviceInfo>";
        string deviceInfo = "<DeviceInfo>" +
            "  <OutputFormat>+ format +</OutputFormat>" +
            "  <PageWidth>8.5in</PageWidth>" +
            "  <PageHeight>9in</PageHeight>" +
            "  <MarginTop>0.5in</MarginTop>" +
            "  <MarginLeft>0.3in</MarginLeft>" +
            "  <MarginRight>0.3in</MarginRight>" +
            "  <MarginBottom>0.5in</MarginBottom>" +
            "</DeviceInfo>";

        Warning[] warnings;
        string[] streams;
        byte[] renderedBytes;

        renderedBytes = report.Render(
            reportType,
            deviceInfo,
            out mimeType,
            out encoding,
            out fileNameExtension,
            out streams,
            out warnings);

        if (format == null)
        {
            return File(renderedBytes, "pdf");

        }

        else if (format == "pdf")
        {
            return File(renderedBytes, "pdf");
        }

        else
        {
            return File(renderedBytes, mimeType);
        }
    }

我的观点

using (Html.BeginForm("MemberReport","MemberReportList",new { ReturnUrl = ViewBag.ReturnUrl }))

{
<div class="row">
        <div class="col-md-1">
            @Html.Label("CIty")
        </div>
        <div class="col-md-2">
            "TextBox for citystring"
        </div>
        <div class="col-md-1">
            @Html.Label("Area")
        </div>
        <div class="col-md-2">
              Textbox for area  
        </div>
        <div class="col-md-1">
            @Html.Label("Sub Area")
        </div>
        <div class="col-md-2">
            Subarea textbox
        </div>

        <div class="col-md-1">
            @Html.Label("BusinessType")
        </div>
        <div class="col-md-2">
           BusinessType Textbox
        </div>

        <div class="col-md-2">
            <input type="submit" value="View" class="btn btn-primary" />
        </div>
    </div>
}

@if (Model != null)
{
    <div class="col-md-2 col-md-offset-8">
        @Html.ActionLink("Download as PDF", "DownloadReport", new { cityString = Model.CityString, areaString = Model.AreaString, subareaString = Model.SubAreaString, businessString = Model.BusinessString, format = "PDF" }, new { @class = "btn btn-primary" })
    </div>
    <div class="col-md-2">
        @Html.ActionLink("Download as Excel", "DownloadReport", new { cityString = Model.CityString,areaString = Model.AreaString, subareaString = Model.SubAreaString, businessString = Model.BusinessString, format = "Excel" }, new { @class = "btn btn-primary" })
    </div>
    <br />
    <br />
    <iframe src='@Url.Action("DownloadReport", "MemberReportList", new { cityString = Model.CityString, areaString = Model.AreaString, subareaString = Model.SubAreaString, businessString = Model.BusinessString, format = "PDF" })' width="100%" height="1000"></iframe>
}

我的问题是它在本地完美运行..但不是在服务器上

在服务器上“iframe”返回我网站的标题,“下载为 Pdf 和 Excel”返回空视图

4

0 回答 0