Как вызвать функцию javascript при загрузке страницы в asp.net
Возможный дубликат:
Javascript, который выполняется после загрузки страницы
У меня есть приложение в asp.net 4.0
У меня есть javascript для отображения смещения клиентской зоны в текстовое поле: -
`
<script type="text/javascript">
function GetTimeZoneOffset() {
var d = new Date()
var gmtOffSet = -d.getTimezoneOffset();
var gmtHours = Math.floor(gmtOffSet / 60);
var GMTMin = Math.abs(gmtOffSet % 60);
var dot = ".";
var retVal = "" + gmtHours + dot + GMTMin;
document.getElementById('<%= offSet.ClientID%>').value = retVal;
}
</script>
`
Html MarkUp
<asp:HiddenField ID="clientDateTime" runat="server" />
<asp:HiddenField ID="offSet" runat="server" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></body>
Как я могу вызвать эту функцию при загрузке страницы, чтобы я мог отображать смещение в текстовое поле?
Ответы
Ответ 1
Вызов функции JavaScript по коду за i.e.
На Page_Load
ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:FUNCTIONNAME(); ", true);
Если у вас есть UpdatePanel
, попробуйте вот это
ScriptManager.RegisterStartupScript(GetType(), "Javascript", "javascript:FUNCTIONNAME(); ", true);
Статья в блоге Как вызвать функцию javascript из кода в asp.net С#
Ответ 2
<html>
<head>
<script type="text/javascript">
function GetTimeZoneOffset() {
var d = new Date()
var gmtOffSet = -d.getTimezoneOffset();
var gmtHours = Math.floor(gmtOffSet / 60);
var GMTMin = Math.abs(gmtOffSet % 60);
var dot = ".";
var retVal = "" + gmtHours + dot + GMTMin;
document.getElementById('<%= offSet.ClientID%>').value = retVal;
}
</script>
</head>
<body onload="GetTimeZoneOffset()">
<asp:HiddenField ID="clientDateTime" runat="server" />
<asp:HiddenField ID="offSet" runat="server" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</body>
</html>
ключевой момент, чтобы заметить здесь, тело имеет атрибут onload
. Просто дайте ему имя функции и эта функция будет вызвана при загрузке страницы.
В качестве альтернативы вы также можете вызвать функцию на странице загрузки страницы, как это
<html>
<head>
<script type="text/javascript">
window.onload = load();
function load() {
var d = new Date()
var gmtOffSet = -d.getTimezoneOffset();
var gmtHours = Math.floor(gmtOffSet / 60);
var GMTMin = Math.abs(gmtOffSet % 60);
var dot = ".";
var retVal = "" + gmtHours + dot + GMTMin;
document.getElementById('<%= offSet.ClientID%>').value = retVal;
}
</script>
</head>
<body >
<asp:HiddenField ID="clientDateTime" runat="server" />
<asp:HiddenField ID="offSet" runat="server" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></body>
</body>
</html>
Ответ 3
Поместите эту строку перед закрывающим тегом script, записывая из памяти:
window.onload = GetTimeZoneOffset;
Ответ 4
используйте свой код в
<script type="text/javascript">
function window.onload()
{
var d = new Date()
var gmtOffSet = -d.getTimezoneOffset();
var gmtHours = Math.floor(gmtOffSet / 60);
var GMTMin = Math.abs(gmtOffSet % 60);
var dot = ".";
var retVal = "" + gmtHours + dot + GMTMin;
document.getElementById('<%= offSet.ClientID%>').value = retVal;
}
</script>