Нужно ли отключать частичное отображение для отчета SSRS?
На сайте ASP.NET, над которым я работаю, есть несколько отчетов SSRS в виде страниц. Для каждой из этих страниц (но не для любых других) раскрывающийся список RadMenu главной страницы не работает, и это происходит потому, что страница просмотра отчета отключает частичный рендеринг через диспетчер сценариев в событии Page_Init.
К сожалению, первоначальный разработчик больше не доступен, и никто здесь не знает наверняка, почему частичный рендеринг был отключен. Ничего не сломается, если я включу частичный рендеринг, но это кажется плохим оправданием, учитывая, насколько преднамеренным был выбор.
Это код для события Page_Init:
protected void Page_Init(object sender, EventArgs e)
{
ScriptManager sm = ScriptManager.GetCurrent(this);
if (sm != null)
{
sm.EnablePartialRendering = false;
}
}
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>
Все отчеты используют страницу 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>
1 ответ
Я включил частичный рендеринг и развернул изменение в нашем экземпляре QA и в нашем промежуточном экземпляре, и включение частичного рендеринга не оказало какого-либо негативного влияния на страницу, поэтому, похоже, проблемы нет.