[英]Does partial rendering need to be disabled for an SSRS report
The ASP.NET site that I'm doing some work on has a few SSRS reports as pages. 我正在做的工作的ASP.NET网站有一些SSRS报告作为页面。 For every one of these pages (but not for any of the others), the master page's RadMenu dropdown doesn't work, and it appears to be because the Report View page is disabling partial rendering through the script manager on the Page_Init event. 对于这些页面中的每个页面(但不适用于其他页面),母版页面的RadMenu下拉菜单均不起作用,这似乎是因为“报表视图”页面正在通过Page_Init事件的脚本管理器禁用了部分呈现。
Unfortunately, the original developer isn't available anymore and no one here seems to know for sure why partial rendering was disabled. 不幸的是,原来的开发人员不再可用,这里似乎没人知道为什么禁用了部分渲染。 Nothing seems to break if I do enable partial rendering, but that seems like poor justification given how deliberately the choice seems to have been. 如果我确实启用了部分渲染,似乎一切都没有中断,但是考虑到选择的故意程度,这似乎缺乏充分的理由。
This is the code for the Page_Init event: 这是Page_Init事件的代码:
protected void Page_Init(object sender, EventArgs e)
{
ScriptManager sm = ScriptManager.GetCurrent(this);
if (sm != null)
{
sm.EnablePartialRendering = false;
}
}
The RadMenu is on my master page and looks like this: RadMenu在我的母版页上,如下所示:
<telerik:RadMenu ID="MasterPageMenu" runat="server" Height="20px" Style="top: 0px;
left: 0px;" Width="100%" CssClass="RadMenuLevel" EnableRoundedCorners="True"
OnItemDataBound="MasterPageMenu_ItemDataBound" OnClientItemClicking="onClicking"
DataTextField="title" DataNavigateUrlField="url">
<DefaultGroupSettings OffsetX="11" OffsetY="2" />
</telerik:RadMenu>
All of the reports use a ReportViewer.aspx page to load, below is the code: 所有报告都使用ReportViewer.aspx页面进行加载,下面是代码:
<%@ Page Title="Reports" Language="C#" MasterPageFile="~/HPTS.Master" AutoEventWireup="true"
CodeBehind="ReportViewer.aspx.cs" Inherits="HPTS.HPTSAdmin.ReportViewer" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<style type="text/css">
.heightTest
{
height: auto;
}
.fullheight
{
margin-bottom: 120px;
}
#testdiv
{
display:table;
width:1250px;
height:auto;
}
</style>
<script language="JavaScript" type="text/JavaScript">
window.onload=function resize(){
var viewer = document.getElementById("testdiv");
var htmlheight = document.documentElement.clientHeight;
viewer.style.height = (htmlheight - 120) + "px";
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cphHPTS" runat="server">
<telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxyforReports" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="ReportViewerControl">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ReportViewerControl" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManagerProxy>
<div id="testdiv" style="width: 100%">
<br />
<rsweb:ReportViewer ID="ReportViewerControl" runat="server" Font- Names="Verdana"
Font-Size="8pt" ProcessingMode="Remote" CssClass="fullheight" Height="8.5in"
Width="100%" SizeToReportContent="true">
<ServerReport ReportPath="" ReportServerUrl="" />
</rsweb:ReportViewer>
</div>
</asp:Content>
我已经启用了部分渲染并将更改部署到我们的QA实例和Staging实例,并且启用了部分渲染对页面没有任何负面影响,因此似乎没有问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.