在mvc4中显示剃刀视图的水晶报告

时间:2014-09-12 05:03:09

标签: asp.net-mvc-4 razor view crystal-reports report

如何在网页上显示水晶报告???我正在使用MVC4剃刀视图,并希望在div标签内显示水晶报告。我正在使用visual studio 2010。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我还没有看到过MVC的Crystal报表查看器。 Crystal Report查看器是一个ASP.net Web窗体控件。

我能够做的是在您的应用程序(或其他)中使用报表查看器以及将参数传递给它的方法来创建Web表单页面。然后在你的div中,托管一个iFrame,它允许你传递url参数来显示你的报告。

我使用了报告模型:

public class ReportModel
{
    public string Url { get; set; }
    public string Title { get; set; }
    public short Height { get; set; }
    public int DialogWidth { get { return Width + 60; }}
    public short Width { get; set; }
}

报告控制器:

public ActionResult View(string title, string url, short height=960, short width = 800)
{
    ReportModel report = new ReportModel
    {
        Url = url,
        Title = title,
        Width=width,
        Height=height,
    };
    return PartialView("_reports", report);
}

报告部分视图,将报告显示为模式弹出窗口:

<div class="modal-dialog ">
    <div class="modal-content report" style="width: @dialogWidth; margin-left: -25%; margin-top: -12%;   ">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
            <h4 class="modal-title" id="myModalLabel">@Model.Title</h4>
        </div>
        <div class="modal-body"><!-- Hello -->
            <iframe src="@Model.Url" style="width: @width; height: @height; " marginheight="30px" frameborder="0" scrolling="no" class="report"></iframe>
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
    </div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->