我想在gridview加载时调用javascript函数。我这样叫它,
<asp:GridView ID="GridView4" runat="server" OnLoad="javascript:AddTHEAD('<%= GridView4.ClientID %>')">
</asp:GridView>
这里是javascript函数
<script type="text/javascript">
function AddTHEAD(tableName) {
window.open(document.location.href+'&mode=print','_blank');
var table = document.getElementById(tableName);
if (table != null) {
var head = document.createElement("THEAD");
head.style.display = "table-header-group";
head.appendChild(table.rows[0]);
table.insertBefore(head, table.childNodes[0]);
}
}
</script>
但是我在调用javasccript函数时会遇到编译错误。如何在GridView的OnLoad事件上调用javascript函数?我想要做的基本上是在每个页面上打印gridview标题,但我无法弄清楚如何。请帮忙!
答案 0 :(得分:1)
我没有在gridview中看到OnLoad事件,但我确实看到了一个Load事件。在这个事件中,我会使用scriptmanager从后面的代码中调用javascript函数。这是一个例子:
Protected Sub gridCreditLines_ExistingGlobal_Load(sender As Object, e As EventArgs) Handles gridCreditLines_ExistingGlobal.Load
ScriptManager.RegisterStartupScript(Page,
Page.GetType(),
"AddTHEAD",
"AddTHEAD(" & tableName & ");",
True)
End Sub
使用scriptmanager可能需要您向表单添加scriptmanager控件:
<ajaxToolKit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajaxToolKit:ToolkitScriptManager>
我确定还有一点可以将它与现有代码挂钩,但这至少应该指向正确的方向。当尝试从后面的VB代码调用我的js函数时,这种技术总是适用于我。