Page.ClientScript.RegisterClientScriptBlock Window.Print не работает в IE

По сути, у меня есть эта строка кода, которая не работает в IE, но отлично работает в FF и Chrome.

Page.ClientScript.RegisterClientScriptBlock(Page.GetType, "RunPrintReport", "<script language='JavaScript'>window.print();</script>")

Я не получаю никаких ошибок, просто не работает. Если я перейду на

Page.ClientScript.RegisterClientScriptBlock(Page.GetType, "RunPrintReport", "<script language='JavaScript'>alert('this is a test');</script>")

предупреждение приходит просто отлично, есть идеи, почему window.print не будет работать? Я также написал в другую функцию и попытался просто вызвать эту функцию, содержащую window.print();return false; безрезультатно, а также просто включить это в RegisterClientScriptBlock. Не знаю, почему это не работает


person Nick G    schedule 26.11.2013    source источник


Ответы (1)


Я взял ваш код и немного изменил его. Я убрал ваши теги script и добавил True в качестве последнего параметра. Asp сгенерирует для вас теги сценария.

Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "RunPrintReport", "window.print();",true);

Я пробовал, и это работает в Chrome, IE 10 и IE 8. Одно замечание: при открытии в Internet Exploder диалоговое окно печати открывается через пару секунд.

person Michael Biggs    schedule 26.11.2013