• ASP.NET相关事件及JS的执行顺序


    实验代码:

    ASPX:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Ajax.WebForm1" %>

    <!DOCTYPE html>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script>
    alert("head里自动执行的JS");
    window.onload = show1;
    function show1()
    {
    alert("window.onload");
    }
    function show()
    {
    alert("前台服务器按钮");
    }
    function show2()
    {
    alert("前台普通按钮");
    }
    </script>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>

    <asp:Button ID="Button1" runat="server" Text="服务器按钮" OnClick="Button1_Click" OnClientClick="show()"/>
    &nbsp;&nbsp;&nbsp;&nbsp;
    <input type="button" value="普通按钮" name="button" onclick="show2()"/>

    </div>
    </form>
    <script>
    alert("body里自动执行的JS");
    </script>
    </body>
    </html>

    C#:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    namespace Ajax
    {
    public partial class WebForm1 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('Page_Load事件')", true);
    }
    }
    //protected void Page_Init(object sender, EventArgs e)
    //{
    // ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('Page_Init事件')", true);
    //}
    //protected void Page_PreRender(object sender, EventArgs e)
    //{
    // ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('Page_PreRender事件')", true);
    //}
    protected void Button1_Click(object sender, EventArgs e)
    {
    ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('后台服务器按钮')", true);
    }

    }
    }

    实验结论:

    1.页面刚打开时的执行顺序:head里自动执行的JS==》Page_load事件==》body里自动执行的JS==》window.onload

    2.点击服务器按钮时的执行顺序:前台服务器按钮==》head里自动执行的JS==》后台服务器按钮==》body里自动执行的JS==》window.onload

    3.点击普通按钮时的执行顺序:前台普通按钮

    4.Page_Init先于Page_Load先于Page_PreRender被执行

    简单记录下,下次用到时,随时过来翻看。

  • 相关阅读:
    Andriod 简介
    Java 记录日志
    Java 国际化
    Java 正则表达式的使用
    Java 日期、时间类,日期、时间的格式化
    Java Random类、ThreadLocalRandom类
    Java Math类、BigDecimal类、NumberFormat类、浮点数的精确度问题
    Java String类、StringBuilder类、StringBuffer类
    Java System类、RunTime类、Object类、垃圾回收
    span 右浮动折行 解决ie6/7中span右浮动折行问题
  • 原文地址:https://www.cnblogs.com/xugangblog/p/6047937.html
Copyright © 2020-2023  润新知