Мы показываем отчеты в нашем веб-приложении Azure, используя элемент управления ReportViewer (rdlc) в VS2010, который работает отлично. Недавно мой клиент попросил меня захватить событие Print для ReportViewer и записать запись на сервере. Я подключил кнопку печати .. Это прекрасно работает, когда я запускаю веб-приложение в локальной среде. Однако в Azure метод Ajax никогда не вызывается со стороны клиента. Подскажите пожалуйста что делать? Есть ли ограничение для Ajax в среде Azure?
Я регистрирую страницу на 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);
}
}