调用javascript函数从代码后面打印表单
本文关键字:打印 表单 代码 javascript 函数 调用 | 更新日期: 2023-09-27 18:28:33
我想调用一个函数javascript函数,在点击打印按钮时从代码后面打印表单。我首先在表单上隐藏了一列我的网格视图,然后我想打印它。
protected void btnPrint_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in grdTransaction.Rows)
{
if (UType == "A")
{
grdTransaction.Columns[7].Visible = false;
}
else
{
grdTransaction.Columns[3].ItemStyle.Width = 100;
grdTransaction.Columns[5].Visible = false;
}
}
}
我已经使用
1) ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "Script",
"<script type='text/javascript'>clicked('printablediv');</script>", true);
2) ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "Script",
"clicked('printablediv');", true);
3) btnPrint.Attributea.Add("onclick","clicked('printablediv');");
4) btnPrint.Attributea.Add("onclick","return clicked('printablediv');");
以上所有选项都不起作用,但在OnClientClick事件上起作用。。请帮帮我。提前谢谢。
如果您查看msdn上的示例,那么您会注意到您必须包括一个包括标记的整个脚本块。
此外,OnClientClick事件听起来确实是正确的事件。那么,如果这有效的话,问题出在哪里呢?
在前两个选项中:
您尝试的只是尝试调用一个名为clicked(args)
的javascript方法,所以实际上并没有将其绑定到任何按钮单击。当您将最后一个参数作为true
传递时,您不必将脚本包装在<script>
标记中。页面加载后,它应该会立即工作。
现在查看您的最后两个选项:
看看会发生什么,当你点击按钮时,它会回发,因此你看不到javaSrippt代码的效果,因为整个页面都被重新加载了。您需要阻止PostBack。
试试这个:
btnPrint.Attributes.Add("onclick","clicked('printablediv'); return false");
确保您的return false;
来自您单击的方法。
此外,当您进行控制时,请注意分号,即;
。属性。加上,它已经加上了分号;你不会自己做