【原】关于如何在Master Page中实现当前激活项与页面相对应

最近我在做站点的时候,遇到一个小问题,如何使当前选中的页面激活项和页面对应,然后就简单的写了一个小小的示例,废话少说,直接看demo:

 

ContractedBlock.gif ExpandedBlockStart.gif Main.Master
<%@ Master Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    
public string home, services, takeatour;
    
protected void Page_Load(object sender, EventArgs e)
    {
        System.IO.FileInfo fi 
= new System.IO.FileInfo(System.Web.HttpContext.Current.Request.Url.AbsolutePath);
        
string currentPagename = fi.Name;
        Actived(currentPagename);
    }
    
/// <summary>
    
/// Active page
    
/// </summary>
    
/// <param name="currentPagename">active current page</param>
    void Actived(string currentPagename)
    {
        
switch (currentPagename)
        {
            
case "home.aspx":
                {
                    home 
= "current_page_item";
                    services 
= "";
                    takeatour 
= "";
                    
break;
                }
            
case "service.aspx":
                {
                    home 
= "";
                    services 
= "current_page_item";
                    takeatour 
= "";
                    
break;
                }
            
case "takeatour.aspx":
                {
                    home 
= "";
                    services 
= "";
                    takeatour 
= "current_page_item";
                    
break;
                }
            
default:
                {
                    home 
= "current_page_item";
                    services 
= "";
                    takeatour 
= "";
                    
break;
                }
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>Demo</title>
    
<link href="css.css" rel="stylesheet" type="text/css" />
    
<asp:ContentPlaceHolder ID="head" runat="server">
    
</asp:ContentPlaceHolder>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<div id="menu">
            
<ul>
                
<li class="<%= home %>"><a href="home.aspx">Home</a></li>
                
<li class="<%= services %>"><a href="service.aspx">Services</a></li>
                
<li class="<%= takeatour %>"><a href="takeatour.aspx">Take a tour</a></li>
            
</ul>
        
</div>
        
<br />
        
<br />
        
<br />
        
<br />
        
<br />
        
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
        
</asp:ContentPlaceHolder>
        
<br />
    
</div>
    
</form>
</body>
</html>

 

 

ContractedBlock.gif ExpandedBlockStart.gif Home.aspx
<%@ Page Language="C#" MasterPageFile="~/main.master" Title="Home" %><script runat="server"></script><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"><div>Home</div></asp:Content>

 

 

ContractedBlock.gif ExpandedBlockStart.gif Service.aspx
<%@ Page Language="C#" MasterPageFile="~/main.master" Title="Service" %><script runat="server"></script><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"><div>Service</div></asp:Content>

 

 

ContractedBlock.gif ExpandedBlockStart.gif Takeatour.aspx
<%@ Page Language="C#" MasterPageFile="~/main.master" Title="Take a tour" %><script runat="server"></script><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"><div>Take a tour</div></asp:Content>

 

 

ContractedBlock.gifExpandedBlockStart.gifCSS.css

#menu {
    float
: left;
    width
: 800px;
    height
: 60px;
    background-color
:Green;
    font-family
: Arial, Helvetica, sans-serif;
}

#menu ul 
{
    margin
: 0;
    padding
: 0;
    list-style
: none;
    line-height
: normal;
}

#menu li 
{
    float
: left;
    background-color
:Green;
    height
: 60px;
    padding
: 0 15px 0 15px;
}

#menu a 
{
    display
: block;
    float
: left;
    height
: 25px;
    margin-right
: 1px;
    padding
: 22px 20px 0 20px;
    text-decoration
: none;
    text-transform
: uppercase;
    font-size
: 14px;
    font-weight
: bold;
    color
: #FFFFFF;
}

#menu a:hover 
{
    color
: #2C2E22;
}

#menu .current_page_item a 
{
    color
: #2C2E22;
}

 

当然方法不是一种,这个不一定是最好的。但是我觉得解决问题就是好的。 故我只是写了一个示例,供初学者参考,当然如果你有什么建议也可以提出。

 
 
 
 
 
 

转载于:https://www.cnblogs.com/OceanChen/archive/2009/02/05/1384286.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值