如何在asp.net中的页面加载上调用javascript函数

Mon*_*liJ 13 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>
Run Code Online (Sandbox Code Playgroud)

`

Html MarkUp

<asp:HiddenField ID="clientDateTime" runat="server" />
<asp:HiddenField ID="offSet" runat="server" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></body>
Run Code Online (Sandbox Code Playgroud)

如何在页面加载时调用此函数以便我可以在文本框中显示偏移量?

Sat*_*ngh 23

在后面的代码上调用JavaScript函数,即On Page_Load

ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:FUNCTIONNAME(); ", true);
Run Code Online (Sandbox Code Playgroud)

如果你UpdatePanel有那么尝试这样

ScriptManager.RegisterStartupScript(GetType(), "Javascript", "javascript:FUNCTIONNAME(); ", true);
Run Code Online (Sandbox Code Playgroud)

查看博客文章:如何从asp.net中的代码调用javascript函数c#

  • 也许这在.NET的最新版本中发生了变化,但是在框架4中,可以这样调用:ClientScriptManager scriptManager = Page.ClientScript; scriptManager.RegisterStartupScript(GetType(),“ Javascript”,“ javascript:functionName();”,true); (2认同)

Bil*_*ani 7

<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>
Run Code Online (Sandbox Code Playgroud)

这里注意的关键点是,body有一个属性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>
Run Code Online (Sandbox Code Playgroud)