1

嗨,我想在页面加载时运行一个 javascript 函数。但由于我的页面源自母版页,因此没有表单。这是我的 aspx 文件

<%@ Page Title="" Language="VB" MasterPageFile="~/Site.Master" AutoEventWireup="false"
CodeFile="test3.aspx.vb" Inherits="test3" %>

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server">
<script language="javascript">
    var m_Names = new Array();

    function LoadArray() {
        PageMethods.Load_Array(onSucceeded, onFailed);
    }
    function onSucceeded(result, userContext, methodName) {
        m_Names = result;
    }

    function onFailed(error, userContext, methodName) {
        alert("An error occurred")
    }
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager> 
<asp:TextBox ID="txt_model_code" runat="server"></asp:TextBox><br />
<br />
<input type="button" value="db Function" /><br />
</asp:Content>

我想在页面加载时初始运行 LoadArray() 函数。此函数正在调用 aspx.vb 代码文件中给出的页面方法。

Partial Class test3
Inherits System.Web.UI.Page
<System.Web.Services.WebMethod()>
Public Shared Function Load_Array() As String()
    Dim Model_Name_old As String()()
    Dim mod_code As String()
    Dim mod_name As String()
    Dim cod_upper As Integer

    //calling webservice that retunrs a jagged array
    Dim ins As New localhost_insert_model.dbModel

    Model_Name_old = ins.get_Model_Name("A")

    mod_code = Model_Name_old(0)
    mod_name = Model_Name_old(1)

    Return mod_name
  End Function
End Class

那么如何在这种情况下加载 javascrip LoadArray() 函数 onPageLoad 呢?

4

4 回答 4

2

这个应该工作

<script language="javascript">
var m_Names = new Array();

window.onload = function () 
    {
        LoadArray();

    }
 .....your functions    
</script>
于 2011-02-18T14:48:35.997 回答
0

我认为您可以使用 jQuery 中的 $document.ready() 。

于 2011-02-18T12:51:52.330 回答
0

如果您不需要完全加载整个页面,您可以在创建函数后调用它吗?

var m_Names = new Array();

function loadArray() {
    PageMethods.Load_Array(onSucceeded, onFailed);
}
function onSucceeded(result, userContext, methodName) {
    m_Names = result;
}

function onFailed(error, userContext, methodName) {
    alert("An error occurred")
}

loadArray();
于 2011-02-18T13:03:55.400 回答
0

您可以使用以下代码:

Sys.Application.add_load(function(e) { LoadArray(); });

顾名思义,这是一个 page_load 处理程序,其功能几乎与服务器端对应部分重复。

于 2011-02-18T13:09:32.017 回答