日期:2014-05-17  浏览次数:20476 次

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

点击过后,既从A.ASPX跳转到B.ASPX后是这个样子

哪位牛人指点下,或给个实列?

------解决方案--------------------
大不了第一个页面跳转的时候顺便创建个Session["A"],其它页面加载的时候分别判断这个Session["A"]的值再做相关处理即可(可以用js获取session也可以用后台代码获取,建议用JQuery来判断并依据判断添加css)
------解决方案--------------------
在页面生命周期的中,仅仅为页面保存一个ViewState树,然后所有的几个初始化操作都是自顶向下地递归处理页面上的各个子控件直到最深层。当你重定向页面,那么整个ViewState并没有张冠李戴地给新的页面,就不给另一个页面上的这个ascx实例提供ViewState了。

要想保持维系状态,那么你的整个框架都在一个页面上。每当点击导航ascx,页面自己动态加载不同的内容ascx。这样始终在同一个页面上,而不会丢失ViewState。
------解决方案--------------------

追加样式就行,例如:

<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");
        })

------解决方案--------------------
Refer:

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