asp.net c#强制在浏览器上重新加载页面打印热键

asp.net c#强制在浏览器上重新加载页面打印热键,c#,asp.net,browser,printing,C#,Asp.net,Browser,Printing,如果用户按下打印热键(ctrl+p),有没有办法在我的asp.net c#web应用程序中运行代码 我有一个多行asp:TextBox,我需要计算行数以生成文档的正确文本框高度。Atm我有一个打印按钮,它工作得很好,但是如果用户使用浏览器打印功能,我想运行相同的代码 提前谢谢我会在Webforms中这样做。制作一个虚拟的按钮或链接按钮,当按下Control+P时,用jQuery触发点击按钮。然后在代码隐藏中,使用ScriptManager将window.print()写入页面 需要LinkBut

如果用户按下打印热键(ctrl+p),有没有办法在我的asp.net c#web应用程序中运行代码

我有一个多行asp:TextBox,我需要计算行数以生成文档的正确文本框高度。Atm我有一个打印按钮,它工作得很好,但是如果用户使用浏览器打印功能,我想运行相同的代码


提前谢谢

我会在Webforms中这样做。制作一个虚拟的
按钮
链接按钮
,当按下Control+P时,用jQuery触发点击按钮。然后在代码隐藏中,使用
ScriptManager
window.print()写入页面

需要LinkButton中的
元素来注册单击

<script>
    $(window).bind('keydown', function (e) {
        if ((e.ctrlKey || e.metaKey) && String.fromCharCode(e.which).toUpperCase() === 'P') {
            $('#LinkButton1')[0].click(); 
            e.preventDefault();
        }
    });
</script>

<asp:LinkButton ID="LinkButton1" runat="server" 
    ClientIDMode="Static" OnClick="LinkButton1_Click"><span></span></asp:LinkButton>

我会在Webforms中这样做。制作一个虚拟的
按钮
链接按钮
,当按下Control+P时,用jQuery触发点击按钮。然后在代码隐藏中,使用
ScriptManager
window.print()写入页面

需要LinkButton中的
元素来注册单击

<script>
    $(window).bind('keydown', function (e) {
        if ((e.ctrlKey || e.metaKey) && String.fromCharCode(e.which).toUpperCase() === 'P') {
            $('#LinkButton1')[0].click(); 
            e.preventDefault();
        }
    });
</script>

<asp:LinkButton ID="LinkButton1" runat="server" 
    ClientIDMode="Static" OnClick="LinkButton1_Click"><span></span></asp:LinkButton>

为什么不使用Javascript来计算行呢?那么你就不需要向服务器发出请求了。这也是可能的,但我更喜欢服务器请求的解决方案,因为我可以在一个步骤中完成一些额外的工作。无论如何谢谢你,我感谢你的帮助。为什么不使用Javascript来计算行呢?那么你就不需要向服务器发出请求了。这也是可能的,但我更喜欢服务器请求的解决方案,因为我可以在一个步骤中完成一些额外的工作。非常感谢,我喜欢这个解决方案非常感谢,我喜欢这个解决方案