在页面加载时加载javascript函数

问题描述:

嗨 我想在加载页面时运行javascript函数。但是因为我的页面来自主页面,所以没有任何形式。这是我的aspx文件在页面加载时加载javascript函数

<%@ 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代码文件中给出一个PageMethod的..

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这种情况?

这一个应该工作

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

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

    } 
.....your functions  
</script> 

我想你可以使用jQuery中的$ document.ready()。

+0

而不是去jQuery是没有什么办法来完成这件事 – Shijilal 2011-02-18 12:56:05

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

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(); 

您可以使用此代码:

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

是它的名字暗示,这是一个的Page_Load处理程序,它在功能上几乎重复是服务器端的计数器部分。