Загрузка функции JavaScript во время загрузки страницы
Привет, я хочу запустить функцию 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 ответа
Решение
Этот должен работать
<script language="javascript">
var m_Names = new Array();
window.onload = function ()
{
LoadArray();
}
.....your functions
</script>
Если вам не нужна вся страница для полной загрузки, вы можете просто вызвать ее после создания функций?
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();
Я думаю, что вы можете использовать $document.ready() из jQuery.
Вы можете использовать этот код:
Sys.Application.add_load(function(e) { LoadArray(); });
Предполагается ли его название, это обработчик page_load, который в значительной степени дублирует по функциональности противоположную часть на стороне сервера.