如何在GridView的OnLoad事件上调用javascript函数?

时间:2014-07-22 16:46:32

标签: javascript asp.net vb.net gridview

我想在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标题,但我无法弄清楚如何。请帮忙!

1 个答案:

答案 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函数时,这种技术总是适用于我。