Links.aspx 基于 MasterPage.master。
A: MasterPage.master、MasterPage.master.cs、Links.aspx 和 Links.aspx.cs 之间的加载顺序是什么?
B: jquery-3.6.3.min.js、TodoA()、base.js 和 TodoB()之间的加载顺序是什么?
MasterPage.master
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="MasterPage.master.cs" Inherits="LinkTabs.MasterPage" %>
<!DOCTYPE html>
<html>
<head runat="server">
<script type="text/javascript" src='jquery-3.6.3.min.js'></script>
...
</html>
MasterPage.master.cs
namespace LinkTabs
{
public partial class MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
TodoA()
}
}
}
链接.aspx
<%@ Page Title="Open A List Of URLs" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true" CodeBehind="Links.aspx.cs" Inherits="LinkTabs.Links" %>
<%@ Import Namespace="LinkTabs.App_MyCode.BLL" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script src='~/Js/base.js'></script>
...
</asp:Content>
链接.aspx.cs
namespace LinkTabs
{
public partial class Links : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
TodoB()
}
}
}
当您使用母版页时,当您导航到该页面时,母版页的页面加载事件将被触发。
现在,如果您单击子页面上的按钮,则
子页面加载事件触发。
母版页加载事件触发。
子页面按钮单击事件触发。
因此,请记住,对于子页面上的任何回发、按钮单击等,然后触发子页面加载事件,然后触发母版页,然后触发子按钮单击代码存根。
所以:
Child page load event->Master Page Load event->child page code stub
作为一般规则,我们通常不太关心上述内容。但是,如果该子页面隐藏/显示菜单项,则如上所示,子页面的代码将在母版页代码运行后运行,因此您通常看不到菜单项(母版页菜单)改变。
因此,上面建议并提示隐藏/显示或控制菜单项的代码应放置在母版页加载事件中......