2009-12-21 8 views
3

J'ai regardé autour mais je ne trouve pas qui correspond à mon problème. Je le fais dans C# ASP.net Visual Studio 2005, j'ai une page maître et a supprimé l'événement Page_Load à partir de là depuis que je voulais le Page_Load dans les pages autres que le maître à feu. Ainsi, dans l'une des pages autres que le masterpage:page_load dans system.web.ui.page pas appelé

  • dans page1.aspx:

    public partial class page1 : System.Web.UI.Page 
    { 
        protected void Page_Load(object sender, EventArgs e) 
        { 
         (this.Master as IMasterPage).SetSelected("gtm"); 
        } 
    } 
    
  • dans 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 
    } 
    

les codes affichés sont pour le menu principal horizontal, à un seul niveau quelque part en haut de la page et je voulais que le menu sélectionné pour mettre en évidence après la page se recharge mais le page_load sur la page1.aspx ne semble pas être appelé!

Ceci est la partie du menu dans le masterpage:

<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> 

tous les styles css pour vol stationnaire et sélectionné (par exemple: gtm_sel) sont définis et fonctionne correctement dans le sens que lorsque je Contourner le chargement de la page même de page1.aspx sur l'événement page_load de la page maître l'appelant à partir de là comme: this.SetSelected ('gtm'); cela fonctionne comme un charme

haywired.

Répondre

2

Avez-vous AutoEventWireup="true" dans la directive Page ...

<%@ Page Language="C#" AutoEventWireup="true" 
    CodeFile="Default.aspx.cs" Inherits="_Default" %> 
+0

oui je l'ai mis à true .. – jan