现在有2个ASPX页面,1个ASCX用户控件。
ASCX用户控件里写的是导航栏,2个ASPX页面都调用了这个ASCX用户控件。
现在的问题是我怎么才能点击导航栏中的链接从A.ASPX跳转到B.ASPX后,所点击的导航栏项保持被点击状态过的状态?
既打开A.ASPX的时候导航栏是这个样子点击过后,既从A.ASPX跳转到B.ASPX后是这个样子哪位牛人指点下,或给个实列?

解决方案 »

  1.   

    <style type="text/css">
         a:link { text-decoration: none;color: blue}
        a:active { text-decoration:blink}
        a:hover { text-decoration:underline;color: red} 
       a:visited { text-decoration: none;color: green}
       </style> 
      

  2.   

    JS获得URL,根据URL判断是A页面还是B页面,给相应栏目加个背景图
      

  3.   

    这个JS是写在ASCX用户控件这个页面里面?那如果有很多页面的话,不是要一个个都判断?
      

  4.   

            $(function () { $("#about").addClass("currentPage") })
    写一个样式,currentPage
      

  5.   

    大不了第一个页面跳转的时候顺便创建个Session["A"],其它页面加载的时候分别判断这个Session["A"]的值再做相关处理即可(可以用js获取session也可以用后台代码获取,建议用JQuery来判断并依据判断添加css)
      

  6.   

    在页面生命周期的中,仅仅为页面保存一个ViewState树,然后所有的几个初始化操作都是自顶向下地递归处理页面上的各个子控件直到最深层。当你重定向页面,那么整个ViewState并没有张冠李戴地给新的页面,就不给另一个页面上的这个ascx实例提供ViewState了。要想保持维系状态,那么你的整个框架都在一个页面上。每当点击导航ascx,页面自己动态加载不同的内容ascx。这样始终在同一个页面上,而不会丢失ViewState。
      

  7.   

    这个观念很简单,就是你的内容页要使用ascx而不是aspx来实现。不过要注意,这是asp.net的强大功能的副作用,也就是说这通常是只适合于web企业应用程序、而不适合那种普通的网页。
      

  8.   

    请教下,我用session的方式实现了我要的功能,这样做有什么缺点不?
    既在每个页面的Page_Load事件里写:if (!Page.IsPostBack)
    {
       Session["dhlid"] = "这里写数值";
    }然后在ASCX里去判断Session["dhlid"]的值。
      

  9.   


    追加样式就行,例如:<div class="aboutbox_menu">
                            <div class="height40">
                            </div>
                            <ul class="a_color_a">
                                <li><a href="AboutUs.aspx?type=aboutus">关于我们</a></li>
                                <li><a href="AboutUs.aspx?type=joinus">加入我们</a></li>
                                <li><a href="AboutUs.aspx?type=touchus">联系我们</a></li>
                            </ul>
                        </div>
    .aboutbox_menu ul li a.moren,.aboutbox_menu ul li a:hover{  background-position:0 -730px; text-decoration:none; font-weight:bold; color:#0C6898;}
     $(function () {
                var url = window.location.href;
                var spurl = url.split("?")[1];
                $(".aboutbox_menu a[href*=" + spurl + "]").addClass("moren");
            })
      

  10.   

    能解释下".aboutbox_menu a[href*=" + spurl + "]"这段是什么意思吗?
      

  11.   

    Refer:http://www.cnblogs.com/insus/archive/2012/09/25/2700939.html
      

  12.   

    UserControl有Page属性,就是引用它的父页面,你可以这样:
    if(Page is A){
    //page a选中
    }
    else if(Page is B){
    //page b选中
    }
    A和B就是A.aspx和B.aspx的后台类名