我有一个页面需要通过 OnClick 回发到调用 window.print() 后的页面。我花了几个小时寻找解决方案,但到目前为止还没有找到正确的组合。我设置了一个测试页面以确保没有其他 JavaScript 干扰。这是代码
<asp:Button ID="Print" runat="server" Text="Print" OnClientClick = "window.print();return true;" UseSubmitBehavior="false" OnClick="Print_Click" />
protected void Print_Click(object sender, EventArgs e)
{
Response.Write("Clicked");
}
这是在浏览器中呈现的按钮:
<input id="Print" class="button" type="button" onclick="window.print();return true;__doPostBack('Print','')" value="Print" name="Print">
没有发生回发并且没有调用 print_click。我还尝试在 page_load 后面的代码中添加 onclientclick
如果有任何帮助,我将不胜感激 - 我想我已经查看了 100 多个搜索结果。 谢谢, 朱迪
最佳答案
<asp:Button ID="Print" runat="server" Text="Print" UseSubmitBehavior="false" OnClick="Print_Click" />
您是否尝试删除 OnClickClick
以查看在没有此功能的情况下是否可以正确触发回发?
如果这有效,那么我会尝试手动添加客户端打印:
var originalClick = $('#Print').click();
$('#Print').click(function(){
window.print();
originalClick();
});
我认为protected
级别很好,但也许可以尝试public
以防万一。
关于javascript - window.print onclientclick 阻止代码隐藏中的 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29799348/