我需要在asp.net mvc应用程序中呈现水晶报告。由于mvc不提供对reportviewer的支持。我被迫重定向到aspx页面。但是我在该重定向中丢失了layout.cshtml菜单。
无论如何我们可以在同一个窗口中的同一个剃刀页面上显示aspx页面的局部视图吗?
iframe是我能够识别但不想使用它的一种解决方案,因为在现代应用中使用iframe不是一个好习惯。
感谢。
答案 0 :(得分:1)
好吧,如果iframe不是您的实用选项,那么您可能应该考虑专门为您的报告页面创建一个WebForms母版页。
然后在该母版页上,您可以将其默认的 PlaceHolder 控件设置为不可见,并在服务器代码中显式呈现Razor布局视图。
<% var buildTitle = new StringBuilder();
var buildMain = new StringBuilder();
TitleContent.RenderControl(new HtmlTextWriter(new System.IO.StringWriter(buildTitle)));
ViewBag.Title = buildTitle.ToString().Trim();
MainContent.RenderControl(new HtmlTextWriter(new System.IO.StringWriter(buildMain)));
ViewBag.MainContent = buildMain.ToString().Trim();
%>
<%= Html.Partial("YourRazorLayoutView", viewData: ViewData)%>
有关详细信息,请查看此blog。