2011-02-18 104 views
0

嗨 我想在加載頁面時運行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這種情況?

回答

1

這一個應該工作

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

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

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

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

+0

而不是去jQuery是沒有什麼辦法來完成這件事 – Shijilal 2011-02-18 12:56:05

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

您可以使用此代碼:

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

是它的名字暗示,這是一個的Page_Load處理程序,它在功能上幾乎重複是服務器端的計數器部分。