【发布时间】:2016-05-26 08:28:46
【问题描述】:
我一直在四处寻找,但找不到任何适合我的问题。
我在 c# asp.net visual studio 2005 中执行此操作,我有一个母版页并从那里删除了 Page_Load 事件,因为我希望在除母版之外的页面中触发 Page_Load。所以在母版页以外的页面之一中:
-
在 page1.aspx 中:
public partial class page1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { (this.Master as IMasterPage).SetSelected("gtm"); } } -
在 masterpage.cs:
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>
所有用于悬停和选择的 CSS 样式(例如:gtm_sel)都已定义并正常工作,因为当我绕过页面加载时,即使从 page1.aspx 到母版页的 page_load 事件,也可以从那里调用它,例如:this .SetSelected('gtm');它就像一个魅力
乱七八糟的。
【问题讨论】: