none
自定义控件传值 RRS feed

  • 问题

  • 现在的页面结构是这个样子的:

     

    页面:index.aspx

    自定义控件:top.ascx,menu.ascx,menu2.ascx

     

    其中,

    1、index.aspx包含top.ascx;

    2、top.ascx根据条件加载menu.ascx 或menu2.ascx,top.ascx前台主要代码如下

    Code Snippet
           

    <asp:Panel ID="pMenu" runat="server">
    </asp:Panel>

     

     

     

    top.ascx后台主要代码如下

    Code Snippet

            Select Case LCase(menuColor)    '加载主菜单栏
                Case "green"
                    pMenu.Controls.Add(CType(LoadControl("menuSH.ascx"), UserControl))
                Case Else
                    pMenu.Controls.Add(CType(LoadControl("menu.ascx"), UserControl))
            End Select

     

     

     

    menu前台主要代码如下

    Code Snippet
    <div id="navMain">
     <ul>
      <li id="column1" runat="server"><a href="../main/index.aspx">有才网首页</a></li>                           
      <li class="li_adorn"></li>
      <li id="column2" runat="server"><a href="../main/JobisHere.aspx">找工作</a></li>
      <li class="li_adorn"></li>
      <li id="column3"><a href="../main/GoldisHere.aspx">找人才</a></li>
      <li class="li_adorn"></li>
      <li id="column4"><a href="../main/FamilyEducation.aspx">家教中心</a></li>
      <li class="li_adorn"></li>
      <li id="column5"><a href="../main/training.aspx">教育培训招生</a></li>
      <li class="li_adorn"></li>
      <li id="column6"><a href="../main/keyword.aspx">职场关键词</a></li>
      <li class="li_adorn"></li>
      <li id="column10"><span class="phon">电话联系:0373-2038039&nbsp;获得帮助</span></li>
     </ul>
    </div>

     

     

     

     

    问题描述

    现在菜单加载没问题。但我想再增加一点,就是:

    改变当前栏目的菜单样式。例如,当前页面是index.aspx,那么我希望column1的背景色能够与其他的区别开。

     

    解决方法预设

    在menu.ascx内定义public CurrentColumn;

    根据CurrentColumn的值,设定column1的背景色:

    Code Snippet

            Select Case CurrentColumn
                Case 1
                    column1.Attributes.Add("style", "background-color:#CAAFD5;padding:0px 6px;")
                    column1.Attributes.Add("onmouseout", "style.background='#CAAFD5';")
                Case 2
                    column2.Attributes.Add("style", "background-color:#CAAFD5;padding:0px 6px;")
                    column2.Attributes.Add("onmouseout", "style.background='#CAAFD5';")

               ....


                Case Else
                       column7.Attributes.Add("style", "background-color:#CAAFD5;padding:0px 6px;")
                       column7.Attributes.Add("onmouseout", "style.background='#CAAFD5';")
            End Select
        End Sub

     

     

     

    解决不了的地方

    我怎么从index.aspx页面向menu.ascx的CurrentColumn传值?

     

     

     

     

     

    2008年5月12日 2:48

答案

全部回复