zoukankan      html  css  js  c++  java
  • 内容页中操作MasterPage里的用户控件

          前段时间无意中下了个用css制作TabMenu 的小工具 CSS Tab Designer 2,里面有几个Demo挺好看的。正好最近做网站有这方面的需要,所以就稍作改动拿了进来.....
          呵呵,上面就是一个引子,接下来进入正题。在现在的这个网站里,我用到了母版页。在这母版页的好处我就不赘述了,反正是省事多了。根据设计的要求,网站的导航要放在页面的左侧,【导航效果就是我弄的那个TabMenu】。我的做法是直接做成个用户控件放在母版页里,因为根据以往的规律,设计肯定还会要求当前页对应的Menu要高亮显示;做成用户控件,可以给控件添加一个属性,在调用的时候为属性赋值,用户控件可以根据这个属性来处理哪个Menu高亮显示。
          想法是不错,实际做起来,就出问题了。用于以前开发中用的都是用户控件,像现在这种情况,直接在使用页面里托个TabMenu的用户控件,然后给属性赋个值,就OK了。但现在用到了母版页,问题就不一样了。可不可以,在内容也中操作母版页中的这个用户控件,动态给他的属性赋值呢?答案当然是可以。只要在内容页中加上<%@ MasterType VirtualPath="~/Index.master" %>,咱就可以访问MasterPage里的控件了。就这样,一路调试、修改下去,哈哈,终于实现了。
          哎呀,表达能力太差,还是给大家看代码吧:
    a.用户控件:

    2.用户控件

     1protected void Page_Load(object sender, EventArgs e)
     2    {
     3        if (!this.IsPostBack)
     4        {
     5//动态访问 导航用户控件
     6        ASP.usercontrol_tabmenu_ascx tabMenu = (ASP.usercontrol_tabmenu_ascx)Master.FindControl("TabMenu1");
     7        if (tabMenu != null)
     8        {
     9            tabMenu.AnchorID = "Service";
    10        }

    11    }

    12    }

    还需要注意的是:1.css的大小写[因为这个,效果显示不出来,害我调试了半天]
                                       2.css 效果防止覆盖,因为我在站点里用到了App_Theme,本来以为将TabMenu 用到的css根代码放一块,就不会被App_Theme里的css覆盖,但结果是被覆盖了。
  • 相关阅读:
    V-Box
    One CLI for webpack must be installed. These are recommended choices, delivered as separate packages:
    获取用户地理位置
    错误 CS0234 命名空间“Microsoft”中不存在类型或命名空间名“Reporting”(是否缺少程序集引用?)
    “/Reports”应用程序中的服务器错误。
    微信公众号关注界面的菜单栏跟实际的菜单栏不一致
    错误 CS8107 C# 7.0 中不支持功能“xxxxxx”。请使用 7.1 或更高的语言版本。
    已经安装了 AccessDatabaseEngine.exe,还是报错
    没有足够的内存继续执行程序(mscorlib)
    坑,坑,
  • 原文地址:https://www.cnblogs.com/xpengfee/p/815306.html
Copyright © 2011-2022 走看看