【发布时间】:2011-05-03 08:16:50
【问题描述】:
我们正在使用 VS2010 中的 ReportViewer (rdlc) 控件在 Azure Web 应用程序中显示报告,该控件运行良好。最近,我的客户要求我捕获 ReportViewer 的打印事件并在服务器上记录一个条目。我已经用打印按钮钩住了。当我在本地环境中运行 Web 应用程序时,这非常有效。但是,在 Azure 上,永远不会从客户端调用 Ajax 方法。请建议怎么做? Azure 环境中的 Ajax 有限制吗?
我正在后面的代码中在 Page_Load 上注册页面
protected void Page_Load(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(Pages.Report));
ImageButton btnPrint = new ImageButton();
btnPrint = ((ImageButton)(this.FindControl("ctl00$" + ReportViewer1.ClientID.Replace("_","$") + "$ctl06$ctl06$ctl00$ctl00$ctl00")));
btnPrint.Attributes["onclick"] += "attachEventForPrint();";
}
[AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
public static void LogEvent(int pLoggingEvent)
{
// Addded logic to log event
}
在 ASPX 文件中,JS 中添加了以下函数
function attachEventForPrint() {
if (typeof (Report) != "undefined") {
Report.LogEvent(4);
}
}
【问题讨论】:
-
我从未使用过 Microsoft Ajax,但我使用 jQuery 并且 Ajax 在我们的 MVC 应用程序中没有问题。
标签: c# asp.net asp.net-ajax azure report-viewer2010