一个动态菜单的例子(downmoon)

前台文件:

< SCRIPT  language ="javascript" >
        
        
function ToggleVisible()
        
{
            $(arguments[
0]).toggle();
            
//alert($(arguments[1]).src);
            if($(arguments[0]).style.display == "none")
            
{
                $(arguments[
1]).src="/images/toggle_gray_down.gif";
            }

            
else
            
{
                $(arguments[
1]).src="/images/toggle_gray_up.gif";
            }

        }

        
        

    
</ SCRIPT >
        
< table  width ="200"
        border
="0"  align ="center"  cellPadding ="0"  cellSpacing ="0"   >
        
                
< asp:label  id ="labMenuItem"  runat ="server" ></ asp:label >
                
                 
< tr >
          
< td  height ="105"  valign ="bottom" >< img  src ="/images/favourable.gif"  alt ="中国蔬菜网最新优惠消息"  width ="200"  height ="100"   /></ td >
        
</ tr >
    
        
    
</ table >

后台文件:

using  System;
using  System.IO;
using  System.Web;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;
using  System.Data;
using  System.Text.RegularExpressions;
using  System.Text;
namespace  Vegnet.User.Web.UI.Controls
{


    
///   <summary>
    
///  Menu 的摘要说明。
    
///   </summary>
     public   class  Menu:Vegnet.Common.Web.UI.Controls.BaseControl
    {

        
#region  Members
        
#region  菜单内容,

        
// Vip栏目标记
         string  _vipImage = " &nbsp;<img src="/Images/Vip.gif"> " ;

        
// 其实不应加在这里,应在公用组件里,
        
// 此处应用Static 变量,待改!! 
        
//  downmoon 2006-12-11

        
#region  显示菜单ID
        
protected      int  MenuExtendDivID
        {
            
get
            {
                
object  o  = ViewState[ " MenuExtendDivID " ];
                
                
if (o != null )
                {
                    
return   int .Parse(o.ToString());
                }
                
else
                {
                    
return   - 1 ;
                }
            }
            
set
            {
                ViewState[
" MenuExtendDivID " ] = value;

            }
        }
        
#endregion
        
// 欢迎与邀月交流,net技术与软件架构 2006年12月4日

        
#region  公共菜单头

        
///   <summary>
        
///  有些项展开
        
///   </summary>
         protected   static    string   publicPreExtend
        {
            
// οnmοuseοut='this.style.cursor=default' οnmοuseοver=this.style.cursor='hand'
             get
            {
                
return   @" <div id='{0}Section'>
                        <div id='{0}Head' class='leftmenu' οnclick={1}ToggleVisible('Table_{0}','Img_{0}');{1}  style=""cursor:pointer;"">
                            <img src='/images/toggle_gray_up.gif' border='0' hspace='5' id='Img_{0}'><span>{2}</span>
                        </div>
                        <div id='Table_{0}'>
                            <table class='menu' cellpadding='0' cellspacing='0' align='center' ID='Table__{0}'>
                                <tr>
                                <td align='left'>
" ;
            }
        }
        
///   <summary>
        
///  默认不展开
        
///   </summary>
         protected   static    string   publicPre
        {

            
// οnmοuseοut=this.style.cursor='default' οnmοuseοver=this.style.cursor='hand' 
             get
            {
                
return   @" <div id='{0}Section'>
                        <div id='{0}Head' class='leftmenu' οnclick={1}ToggleVisible('Table_{0}','Img_{0}');{1}  style=""cursor:pointer;"">
                            <img src='/images/toggle_gray_down.gif' border='0' hspace='5' id='Img_{0}'><span>{2}</span>
                        </div>
                        <div id='Table_{0}' style='DISPLAY:none'>
                            <table class='menu' cellpadding='0' cellspacing='0' align='center' ID='Table__{0}'>
                                <tr>
                                <td align='left'>
" ;
            }
        }
        
#endregion  

        
#region  公共菜单尾
        
protected   static    string   publicEnd
        {
            
get
            {
                
return   @" </td></tr></table></div></div> "
            }
        }


        
#endregion

        
#region  会员资料
        
///   <summary>
        
///  Menuid==0
        
///   </summary>
         protected     string  UserMenu
        {
            
get
            {
                
string  s = "" ;
                
                s
=   @"  <ul>
                                        <li><A href='/User/Modify.aspx?dvid=0' >帐户修改</A></li>
                                        <li><A href='/User/ModifyChangePwd.aspx?dvid=0'  >密码修改</A></li>
                                        
                                    </ul>
"
                    
+ publicEnd;
                
// <li><A href='#?dvid=0'  >积分管理</A></li>
                    s = (MenuExtendDivID == 0 ) ? (publicPreExtend + s):(publicPre + s);
                                                    
                s
= string .Format(s, " User " , " " " , " 会员资料 " );
                
return  s;
            }
        }
        
#endregion  2
        
#region  企业管理
        
///   <summary>
        
///   Menuid==1
        
///   </summary>
         protected     string  CompanyMenu
        {
            
get
            {
                
string  s = "" ;
                
                s
=   @"  <ul>
                                        <li><A href='/User/Company/?dvid=1'  >企业信息</A></li>
                                        <li><A href='/User/news/?dvid=1&tp=4'  >企业动态</A></li>
                                        <li><A href='/User/CompanyExtend/Award.aspx?dvid=1' >企业荣誉</A>
" + _vipImage + @" </li>
                                        <li><A href='/User/CompanyExtend/People.aspx?dvid=1' >企业家风采</A>
" + _vipImage + @" </li>
                                        </ul>
"
                    
+ publicEnd;
                s
= (MenuExtendDivID == 1 ) ? (publicPreExtend + s):(publicPre + s);

                                                    
                s
= string .Format(s, " Company " , " " " , " 企业管理 " );
                
return  s;
            }
        }
        
#endregion  
        
#region  产品列表
        
///   <summary>
        
///   Menuid==2
        
///   </summary>
         protected     string  ProductInfoMenu
        {
            
get
            {
                
string  s = "" ;
                
                s
=   @"  <ul>
                                        <li><a href='/User/Product/Insert.aspx?dvid=2'  >新增产品</a>
" + _vipImage + @" </li>
                                        <li><a href='/User/Product/?dvid=2&st=1'  >当前发布产品</a>
" + _vipImage + @" </li>
                                        <li><a href='/User/Product/?dvid=2&st=-3'  >未发布产品</a>
" + _vipImage + @" </li>
                                        <li><a href='/User/Product/?dvid=2&st=0'  >等待审核产品</a>
" + _vipImage + @" </li>
                                        <li><a href='/User/Product/?dvid=2&st=-1'  >未通过审核产品</a>
" + _vipImage + @" </li>
                                        <li><a href='/User/Product/?dvid=2&st=2'  >推荐产品</a>
" + _vipImage + @" </li>
                                        </ul>
"
                            
+ publicEnd;
                
// <li><a href='/User/Product/?dvid=2&st=-1'  >未通过审核产品</a></li>
                s = (MenuExtendDivID == 2 ) ? (publicPreExtend + s):(publicPre + s);

                                                    
                s
= string .Format(s, " ProductInfo " , " " " , " 产品库 " );
                
return  s;
            }
        }
        
#endregion  
        
#region  供应列表
        
///   <summary>
        
///   Menuid==3
        
///   </summary>
         protected     string  TradeForSellMenu
        {
            
get
            {
                
string  s = "" ;
                
                s
=   @"  <ul>
                                        <li><a href='/User/Trade/Insert.aspx?tp=1&dvid=3'  >新增供应信息</a></li>
                                        <li><a href='/User/Trade/?tp=1&st=1&dvid=3'  >当前发布列表</a></li>
                                        <li><a href='/User/Trade/?tp=1&st=0&dvid=3'  >等待审核列表</a></li>
                                        <li><a href='/User/Trade/RejectList.aspx?tp=1&st=-1&dvid=3'  >未通过审核列表</li>
                                        <li><a href='/User/Trade/default0.aspx?tp=1&st=1&dvid=3'  >供应信息配对</a>
" + _vipImage + @" </li>
                                        
                                        </ul>
"
                    
+ publicEnd;
                
// <li><a href='#?dvid=3'  >订阅商机</a></li>
                s = (MenuExtendDivID == 3 ) ? (publicPreExtend + s):(publicPre + s);
                                                
                s
= string .Format(s, " TradeForSell " , " " " , " 供应信息 " );
                
return  s;
            }
        }
        
#endregion  
        
#region  求购列表
        
///   <summary>
        
///   Menuid==4
        
///   </summary>
         protected     string  TradeForBuyMenu
        {
            
get
            {
                
string  s = "" ;
                
                s
=   @"  <ul>
                                        <li><a href='/User/Trade/Insert.aspx?tp=2&dvid=4'  >新增求购信息</a></li>
                                        <li><a href='/User/Trade/Default2.aspx?tp=2&st=1&dvid=4'  >当前发布列表</a></li>
                                        <li><a href='/User/Trade/Default2.aspx?tp=2&st=0&dvid=4'  >等待审核列表</a></li>
                                        <li><a href='/User/Trade/RejectList.aspx?tp=2&st=-1&dvid=4'  >未通过审核列表</li>
                                        <li><a href='/User/Trade/default20.aspx?tp=2&st=1&dvid=4'  >求购信息配对</a></li>
                                        </ul>
"
                    
+ publicEnd;
                s
= (MenuExtendDivID == 4 ) ? (publicPreExtend + s):(publicPre + s);
                                                
                s
= string .Format(s, " TradeForBuy " , " " " , " 求购信息 " );
                
return  s;
            }
        }
        
#endregion  
        
#region  代理合作列表
        
///   <summary>
        
///   Menuid==5
        
///   </summary>
         protected     string  TradeForDeleAndCorpMenu
        {
            
get
            {
                
string  s = "" ;
                
                s
=   @"  <ul>
                                        <li><a href='/User/Trade/Insert.aspx?tp=3&dvid=5'  >新增信息</a></li>
                                        <li><a href='/User/Trade/Default3.aspx?tp=3&st=1&dvid=5'  >当前发布列表</a></li>
                                        <li><a href='/User/Trade/Default3.aspx?&st=0&dvid=5'  >等待审核列表</a></li>
                                        <li><a href='/User/Trade/RejectList.aspx?&st=-1&dvid=5'  >未通过审核列表</li>
                                        </ul>
"
                    
+ publicEnd;
                s
= (MenuExtendDivID == 5 ) ? (publicPreExtend + s):(publicPre + s);
                                                
                s
= string .Format(s, " TradeForDeleAndCorp " , " " " , " 代理合作信息 " );
                
return  s;
            }
        }
        
#endregion  

        
#region  站内邮件
        
///   <summary>
        
///   Menuid==6
        
///   </summary>
         protected     string  MessageMenu
        {
            
get
            {
                
string  s = "" ;
                
                s
=   @"  <ul>
                                        <li><a href='/User/Message2007/?box=0&dvid=6'  >收件箱</a></li>
                                        <li><a href='/User/Message2007/SendList.aspx?box=1&dvid=6'  >发件箱</a></li>
                                        <li><a href='/User/BusinessContacts/?dvid=6'  >商业伙伴</a></li>
                                        <li><a href='/User/BlackContacts/?dvid=6'  >黑名单</a></li>
                                        <li><a href='/User/MobileMessageSet/?dvid=6'  >短信提醒设置</a>
" + _vipImage + @" </li>
                                    </ul>
"
                    
+ publicEnd;
                s
= (MenuExtendDivID == 6 ) ? (publicPreExtend + s):(publicPre + s);
                                                    
                s
= string .Format(s, " Message " , " " " , " 站内邮件 " );
                
return  s;
            }
        }
        
#endregion  
        
#region  推荐及订阅列表
        
///   <summary>
        
///   Menuid==7
        
///   </summary>
         protected     string  MagzineAndSubscribeMenu
        {
            
get
            {
                
string  s = "" ;
                                s
=   @"  <ul>
                                        <li><a href='/User/Subscribe/?dvid=7'>免费索取</a></li>
                                        <li><a href='/User/Magzine/CoverPageList.aspx?dvid=7'>历史期刊网络版</a></li>
                                        <li><a href='/User/Magzine/Insert.aspx?dvid=7'>申请刊登产品</a>
" + _vipImage + @" </li>
                                        <li><a href='/User/Magzine/default.aspx?dvid=7'>刊登产品列表</a>
" + _vipImage + @" </li>
                                        </ul>
"
                                
+ publicEnd;
                s
= (MenuExtendDivID == 7 ) ? (publicPreExtend + s):(publicPre + s);
                s
= string .Format(s, " MagzineAndSubscribe " , " " " , " 中国农业商情蔬菜卷 " );
                
return  s;
            }
        }
        
#endregion
        
#region  图片管理
        
///   <summary>
        
///   Menuid==8
        
///   </summary>
         protected     string  PictureMenu
        {
            
get
            {
                
string  s = "" ;
                
                s
=   @"  <ul>
                                        <li><a href='#?dvid=8'  >上传图片</a></li>
                                        <li><a href='#?dvid=8'  >图片管理</a></li>
                                        </ul>
"
                    
+ publicEnd;
                s
= (MenuExtendDivID == 8 ) ? (publicPreExtend + s):(publicPre + s);
                s
= string .Format(s, " Picture " , " " " , " 图片管理 " );
                
return  s;
            }
        }
        
#endregion
        
#region  其他列表
        
///   <summary>
        
///   Menuid==9
        
///   </summary>
         protected     string  OtherMenu
        {
            
get
            {
                
string  s = "" ;
                
                    s
=   @"  <ul>
                                        <li><a href='/User/News/Insert.aspx?dvid=9&tp=14'  >发布评论</a></li>
                                        <li><a href='/User/News/?dvid=9&tp=14'  >市场评论</a></li>
                                        </ul>
"
                        
+ publicEnd;
                    s
= (MenuExtendDivID == 9 ) ? (publicPreExtend + s):(publicPre + s);
                
                
                s
= string .Format(s, " Other " , " " " , " 其他 " );
                
return  s;
            }
        }
        
#endregion  
        
#region  帮助列表
        
///   <summary>
        
///   Menuid==10
        
///   </summary>
         protected     string  HelpMenu
        {
            
get
            {
                
string  s = "" ;
                
                s
=   @"  <ul>
                                        <li><a href='#?dvid=10'  >帮助文档</a></li>
                                        <li><a href='#?dvid=10'  >在线咨询</a></li>
                                        </ul>
"
                    
+ publicEnd;
                s
= (MenuExtendDivID == 10 ) ? (publicPreExtend + s):(publicPre + s);
                s
= string .Format(s, " Help " , " " " , " 帮助 " );
                
return  s;
            }
        }
        
#endregion  
        
#region  蔬菜价格
        
///   <summary>
        
///   Menuid==11
        
///   </summary>
         protected     string  PriceMenu
        {
            
get
            {
                
string  s = "" ;
                
                s
=   @"  <ul>
                                        <li><a href='/User/Price/?dvid=11'>价格趋势图</a></li>
                                        <li><a href='/User/Price/Vip.aspx?dvid=11'>价格趋势图(Vip)</a>
" + _vipImage + @" </li>
                                        </ul>
"
                    
+ publicEnd;
                s
= (MenuExtendDivID == 11 ) ? (publicPreExtend + s):(publicPre + s);
                s
= string .Format(s, " Picture " , " " " , " 蔬菜价格 " );
                
return  s;
            }
        }
        
#endregion
        
#region  增值推荐
        
///   <summary>
        
///   Menuid==11
        
///   </summary>
         protected     string  IncrementMenu
        {
            
get
            {
                
string  s = "" ;
                
                s
=   @"  <ul>
                                        <li><a href='/User/Increment/DownloadTrade.aspx?dvid=12'>品种分布区域数据下载</a>
" + _vipImage + @" </li>
                                        </ul>
"
                    
+ publicEnd;
                s
= (MenuExtendDivID == 12 ) ? (publicPreExtend + s):(publicPre + s);
                s
= string .Format(s, " Increment " , " " " , " 增值推荐 " );
                
return  s;
            }
        }
        
#endregion
        
#endregion
        Vegnet.User.Framework.Components.User user
= Vegnet.User.Framework.Data.DataDTOProvider.GetUserByCach();
        
protected  Label labMenuItem;

        
#endregion


        
protected   override   void  OnLoad(EventArgs e)
        {
            
base .OnLoad (e);
            
// Page.Response.Write(user.IsBase);
            
// Page.SmartNavigation=true;
            
            
// 2006年10月30日新增 欢迎与邀月交流,net技术与软件架构 是否允许推荐产品到杂志,目前所有注册用户均可。推荐规则见设计文档
            
// 目前暂不动,合适时应改为case判断
             if (user == null )
            {
                Page.Response.Redirect(
" /User/Login.aspx " );
                
return  ;
            }
            
if ( ! IsPostBack)
            {
                
try
                {
                    
this .MenuExtendDivID = (Page.Request[ " dvid " ] != null ) ? int .Parse(Page.Request[ " dvid " ].ToString()): - 1 ;
                }
                
catch
                {
                    
this .MenuExtendDivID =- 1 ;
                }
            }
            
if (labMenuItem != null )
            {
                StringBuilder sb
= new  StringBuilder(); // 定义临时变量
                sb.Append( " <tr><td height='35'> " ); // 初始化头
                 if (user.IsAllowRecommendToMagzine)
                {
                    
#region   如果允许推荐
                    
#region  用户类型
                    
if (user.IsBase)
                    {
                        sb.Append(UserMenu);
                        sb.Append(CompanyMenu);
                        sb.Append(ProductInfoMenu);
                        sb.Append(TradeForSellMenu);
                        sb.Append(TradeForBuyMenu);
                        sb.Append(TradeForDeleAndCorpMenu);
                        sb.Append(MessageMenu);
                        sb.Append(MagzineAndSubscribeMenu);
                        sb.Append(PriceMenu);
                        
// +PictureMenu
                        sb.Append(IncrementMenu);
                        sb.Append(OtherMenu);
                        
// +HelpMenu
                        
                    }
                    
else
                    {
                        sb.Append(UserMenu);
                        sb.Append(CompanyMenu);
                        sb.Append(ProductInfoMenu);
                        sb.Append(TradeForSellMenu);
                        sb.Append(TradeForBuyMenu);
                        sb.Append(TradeForDeleAndCorpMenu);
                        sb.Append(MessageMenu);
                        sb.Append(MagzineAndSubscribeMenu);
                        sb.Append(PriceMenu);
                        
// +PictureMenu
                        sb.Append(IncrementMenu);
                        sb.Append(OtherMenu);
                        
// +HelpMenu

                    }
                    
#endregion
                    
#endregion
                }
                
else
                {
                    
#region  如果不允许推荐
                    
#region  用户类型
                    
if (user.IsBase)
                    {
                        sb.Append(UserMenu);
                        sb.Append(CompanyMenu);
                        sb.Append(ProductInfoMenu);
                        sb.Append(TradeForSellMenu);
                        sb.Append(TradeForBuyMenu);
                        sb.Append(TradeForDeleAndCorpMenu);
                        sb.Append(MessageMenu);
                        sb.Append(OtherMenu);
                        
// +HelpMenu
                    }
                    
else
                    {
                        sb.Append(UserMenu);
                        sb.Append(CompanyMenu);
                        sb.Append(ProductInfoMenu);
                        sb.Append(TradeForSellMenu);
                        sb.Append(TradeForBuyMenu);
                        sb.Append(TradeForDeleAndCorpMenu);
                        sb.Append(MessageMenu);
                        sb.Append(OtherMenu);
                        
// +HelpMenu

                    }
                    
#endregion
                    
#endregion
                }
                sb.Append(
" </td></tr> " ); // 初始化尾
                 this .labMenuItem.Text = sb.ToString();
            }
            
        }
    
    }
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值