【问题标题】:How to call javascript function on the OnLoad event of GridView?如何在 GridView 的 OnLoad 事件上调用 javascript 函数?
【发布时间】:2014-07-22 16:46:31
【问题描述】:

我想在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>

但是我在调​​用这样的 javascript 函数时遇到编译错误。如何在 GridView 的 OnLoad 事件上调用 javascript 函数?我想要做的基本上是在每一页上打印 gridview 标题,但我不知道如何。请帮忙!

【问题讨论】:

  • 尝试使用 jquery 在文档就绪函数中调用 AddTHEAD() 方法

标签: javascript asp.net vb.net gridview


【解决方案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 函数时,这种技术总是对我有用。

【讨论】:

  • 我应该如何将 gridview 的客户端 ID 传递给 AddTHEAD 函数,例如 ScriptManager.RegisterStartupScript(Me, Me.GetType(), "AddTHEAD", "AddTHEAD(GridView4.ClientID); ”,真)?粗体的语法是否正确?
  • 我相信您可以只使用 sender.ClientID,但您的方式也应该可行……看看这个来解释 sender.ClientID:stackoverflow.com/questions/1303145/…
猜你喜欢
  • 2014-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多