栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

我的菜单在母版页,如何更改菜单点击后的效果

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我的菜单在母版页,如何更改菜单点击后的效果

网友问:

“ 我的菜单在母版页中,用li做的,选中的菜单有一个Selected类,设置选中后的背景。
问题出来了,我其他所有页面都是基于这个母版页,点击菜单转到其他页面,怎么修改这个被点击的菜单的背景呢?
只有选中的菜单才有Selected类。
那就是怎么去除之前选择的菜单Selected类, 而把被点击的菜单加上Selected类??????????? ”

 

Insus.NET模拟演示:


 

所有参数在子页面设置与传给MasterPage。本例子中,在masterpage拉了四个linkButton. 在每个子页怎样去找到Masterpage相对应的linkButton呢?用Findcontrol(),用foreach去循环所有linkButton?

Insus.NET惯用的方法,就是写了一个接口Interface。因为所有子网页,只管设置参数与指定目标。而怎样找到目录,不是子网页的事情。

View Code using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// 


/// Summary description for ISetValue
/// 

namespace Insus.NET
{
    public interface ISetValue
    {
        void SetValue(string colorName,string pageName);
    }
}

 

MasterPage实现这个接口中:

View Code using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Insus.NET;

public partial class MySite : System.Web.UI.MasterPage,ISetValue 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public void SetValue(string colorName, string pageName)
    {
        foreach (Control ctl in menu.Controls)
        {
            if (ctl is linkButton)
            { 
                linkButton lb = (linkButton)ctl;
                if (lb.PostBackUrl.EndsWith (pageName))
                    lb.BackColor= System.Drawing.Color.FromName(colorName);
            }
        }
    }
}

 

Masterpage.aspx:

View Code <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MySite.master.cs" Inherits="MySite" %>





    


    

 

所有子页面的cs代码:

View Code using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Insus.NET;

public partial class Page1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Data_Binding();
        }
    }

    void Data_Binding()
    {
        string path = Request.RawUrl;
        string pageName = path.Substring(path.LastIndexOf('/'));
        ((ISetValue)this.Master).SetValue("#ff0000", pageName);  //注意啦,每个子页面参数在这里设置!!!
    }
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/246827.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号