【发布时间】:2011-09-10 03:32:12
【问题描述】:
当对我们应用程序中包含 Crystal Reports ASP.Net 查看器的页面使用 Internet Explorer 中的“通过电子邮件发送页面”功能时,它会在 Outlook 中草拟电子邮件,并将网页作为附件,而不是作为正文的电子邮件。
对于以前版本的框架 (v1.1) 和关联的 Crystal 报表查看器,情况并非如此。鉴于现在不支持这些旧版本,我想知道是否有任何方法可以“鼓励”Internet Explorer 的“通过电子邮件发送页面”功能将我的 ASP.Net 页面作为正文而不是附件发送?
供参考,查看者的来源很简单:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="GeneralReport.aspx.vb" Inherits="MyApplication.GeneralReportForm"%>
<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title></title>
<meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="Styles.css" type="text/css" rel="stylesheet">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<div id="contentstart"> </div>
<DIV><CR:CRYSTALREPORTVIEWER id="CrystalReportViewer" runat="server" DisplayToolbar="False" SeparatePages="False"
HasDrillUpButton="False" EnableDrillDown="False" DisplayGroupTree="False" HasSearchButton="False" HasZoomFactorList="False"
HasGotoPageButton="False" Visible="False" Height="50px" Width="350px"></CR:CRYSTALREPORTVIEWER>
</DIV>
<br>
<asp:label id="lblError" runat="server" Width="743px" Font-Size="Larger" ForeColor="Red"></asp:label>
</form>
</body>
</HTML>
在后面的代码中,我们只需要:
Dim rpt As New MyReport()
rpt.SetDataSource(ds)
CrystalReportViewer.ReportSource = rpt
CrystalReportViewer.Visible = True
【问题讨论】:
-
您能否发布(部分)由旧调用和新调用生成的 HTML?或者更好的是,带有完整标头的 HTTP 日志(提琴手)?我们或许能够发现显着差异,为可能的解决方案开辟道路。例如,已知原因是 打开标记之前的 text/cmets。
-
通话保持不变。不幸的是,这只是在升级后才被发现;最终,我对影响决策的因素以及如何影响决策更感兴趣。
-
理论上是输出的 HTML 和/或 HTTP 标头强制该决定。无论新旧,我指的是“旧框架下调用的输出”和“新框架下调用的输出”。
标签: asp.net internet-explorer outlook crystal-reports-2008