你们有没有人找到让 Microsoft Report Viewer Control (Web) 在 Ajax UpdatePanel 中工作的方法?
Tronex
问问题
13924 次
5 回答
3
唯一的方法是在 iirc 中创建一个带有报告的 iframe。然而,这个帖子里有个家伙声称他有办法用一些代码来修复它。尽管我什至没有尝试过,因为我从来不需要在更新面板中显示我的任何报告。我倾向于将我的报告保留在任何 ajax 应用程序之外,例如,当请求报告时,我将打开一个仅包含报告的新窗口。无论如何,我的用户更喜欢这样。
于 2008-10-01T20:34:51.187 回答
3
我通过使用修复了这个错误
Microsoft Report Viewer 2010 Redistributable Package 来自:
然后更改网络配置如下
从
<assemblies> <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> <add assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> <add assembly="Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> </assemblies>
<assemblies>
<add assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
</assemblies>
到
<assemblies>
<add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</assemblies>
将此添加到运行时
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.ReportViewer.WebForms" publicKeyToken="b03f5f7f11d50a3a"/>
<bindingRedirect oldVersion="9.0.0.0-9.1.0.0" newVersion="10.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
于 2010-04-20T08:34:31.940 回答
0
从来没有真正尝试过,但我确信控制不会立即起作用。我很确定它需要加载一些额外的 Javascript,因为它增加了很多复杂性,所以您可能需要在更新面板之前加载它们。
于 2008-10-01T20:26:13.313 回答
0
我还可以确认上一篇文章中提到的最新版本(2010)更正了问题。它还消除了显式设置 AsyncRendering=False 的需要:我提到这一点是因为网络上的其他建议说要在该属性上设置该值
于 2010-05-20T13:06:57.053 回答
0
这是一个例子:
<asp:Button ID="Button1" runat="server" OnClick="ViewReport_Clicked" Text="View Report" SkinID="ButtonA" />
<asp:UpdatePanel ID="TFD_UP" runat="server">
<ContentTemplate>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" SizeToReportContent="True"
Height="202px" Width="935px" Font-Names="Verdana" Font-Size="8pt" InteractiveDeviceInfos="(Collection)"
WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Visible="false">
<LocalReport ReportPath="Reports\Report4.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="SqlDataSourceArchiSpecs" Name="Proc_TechFilesDownloadsDataSetParent" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:SqlDataSource ID="SqlDataSourceArchiSpecs" runat="server" ConnectionString="<%$ ConnectionStrings:ArchiSpecsDBConnectionString %>"
SelectCommand="PROC_TECHNICALFILES_DOWNLOAD_DETAILS" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter Name="supId" Type="Int32" />
<asp:Parameter Name="startDate" Type="DateTime" />
<asp:Parameter Name="endDate" Type="DateTime" />
</SelectParameters>
</asp:SqlDataSource>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
于 2017-02-02T19:44:54.883 回答