我一直在四处寻找,但我找不到任何适合我的问题。
我在c#asp.net visual studio 2005中这样做,我有一个母版页并从那里删除了Page_Load事件,因为我想要除了主人之外的页面中的Page_Load。因此,在母版页以外的其中一个页面中:
:
public partial class page1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
(this.Master as IMasterPage).SetSelected("gtm");
}
}
:
public partial class Master : System.Web.UI.MasterPage, IMasterPage
{
#region ImasterPage Members
public void SetSelected(string name)
{
switch (name)
{
case "gtm":
this.gtm.CssClass = "gtm_sel";
break;
default: break;
}
}
#endregion
}
显示的代码用于页面顶部的水平单级主菜单,我希望在页面重新加载后选择要突出显示的菜单,但是似乎没有调用page1.aspx上的page_load!
这是母版页中菜单的一部分:
<div id="menu" class=''>
<ul>
<li><asp:HyperLink ID="com" CssClass="gtm" runat="server" NavigateUrl="~/page1.aspx"><span>Courses</span></asp:HyperLink></li>
<li><asp:HyperLink ID="tbm" CssClass="tbm" runat="server" NavigateUrl="~/page2.aspx"><span>Team Building</span></asp:HyperLink></li>
<li><asp:HyperLink ID="ptm" CssClass="ptm" runat="server" NavigateUrl="~/page3.aspx"><span>Personal Training</span></asp:HyperLink></li>
<li><asp:HyperLink ID="atm" CssClass="atm" runat="server" NavigateUrl="~/page4.aspx"><span>Adventure Tours</span></asp:HyperLink></li>
<li><asp:HyperLink ID="gtm" CssClass="stm" runat="server" NavigateUrl="~/groupTraining.aspx"><span>Group Training</span></asp:HyperLink></li>
</ul>
</div>
hover和selected(例如:gtm_sel)的所有css样式都已定义并且工作正常,当我绕过页面加载时,甚至从page1.aspx到主页的page_load事件,从那里调用它,如: .SetSelected( 'GTM');它就像一个魅力
haywired。
答案 0 :(得分:2)
你在Page指令中有AutoEventWireup="true"
...
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>