2016-10-13 4 views
0

Parametric Search 포틀릿 렌더링 ASCX 파일에 ReportViewer 컨트롤을 포함하고 싶습니다.Sensenet에서 ReportViewer를 사용하는 방법

나는 컨텐츠 저장소에 RDLC 파일을 배치하고이 오류 메시지가 '경로에 잘못된 문자'결과

<% 
.... 

//retrieve rdlc file 

string Path = "/Root/Global/renderers/ReportFiles/Report1.rdlc" 

Node node = Node.LoadNode(Path); 
var binaryData = node.GetBinary("Binary"); 
System.IO.Stream stream = binaryData.GetStream(); 

//setup report 
ReportViewer1.ProcessingMode = ProcessingMode.Local; 
ReportViewer1.LocalReport.LoadReportDefinition(stream); 
ReportDataSource datasource = new ReportDataSource("Results", dsResults.Tables[0]); 
ReportViewer1.LocalReport.DataSources.Add(datasource); 

%> 
<div id="rptvwr"> 
    <asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server"> 
    </asp:ScriptManagerProxy> 

    <rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="600"> 
    </rsweb:ReportViewer> 
</div> 

진 증기로 제대로 검색되고있다. 내가 ReportViewer 컨트롤에 필요한 <asp:Scriptmanager> 태그를 사용할 때, 나는 페이지 당 하나의 스크립트 관리자가 허용되는 오류 메시지가 나타납니다

  • : 나는 조금 주위에 내 코드를 변경하고 지금은 다음과 같은 상황을 설정 한 후

    내가 <asp:ScriptManagerProxy> 태그를 사용할 때

  • , 나는 내용의 오류 메시지가 나타납니다

    포틀릿 오류 : 보고서 뷰어 웹 컨트롤은 w에 System.Web.UI.ScriptManager이 필요 eb 형식.

답변

3

페이지에 하나의 스크립트 관리자 제어가 될 수 있으며, SenseNet 이미 그것에 대해 많이 할 수 없어, 자동으로 하나를 생성합니다. 실제로는 SNScriptManager (기본 scriptmanager 컨트롤에서 상속)이라는 사용자 지정 컨트롤이며 pagetemplate 관리자가 생성 된 마스터 페이지에 자동으로 넣습니다. 그래서 여러분은 ascx에 수동으로 다른 것을 넣을 수 없습니다.

MSDN에 따라 원하는 경우 ScriptManagerProxy 컨트롤을 사용하여 추가 스크립트를 추가 할 수 있습니다. 또는 SenseNet에서 제공하는 sn : ScriptRequest 컨트롤을 사용하면 번들링에 도움이됩니다. 물론 모든 사항은 추가해야하는 스크립트를 정확히 알고있는 경우에만 적용됩니다.

은 아마 의 ReportViewer 컨트롤이 기본 스크립트 관리자를 검색하고 사용자 정의를 좋아하지 않는다 (상속) SenseNet (나는 이러한 경우가 희망)에 의해 사용 하나.

(sm 프록시 또는 다른 태그를 추가하지 않으면 질문이 명확하지 않습니다. 마지막 두 글 머리 기호가 모두 "태그를 사용할 때 ..."로 시작하기 때문에 어떤 태그가 사용됩니까? 여기?)

첫 번째 오류 메시지 ('경로의 잘못된 문자')가 아직 관련이 있습니까? 예인 경우 세부 정보를 추가 할 수 있습니까? 예 : 이벤트 뷰어의 스택 추적?