ZhiYeJianKang_PeiXun/Song.Site/Ajax/ExamMenu.aspx.cs

159 lines
6.0 KiB
C#
Raw Normal View History

2025-02-20 15:41:53 +08:00
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WeiSha.Common;
using Song.ServiceInterfaces;
using Song.Entities;
using WeiSha.WebControl;
namespace Song.Site.Ajax
{
/// <summary>
/// ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>
/// </summary>
public partial class ExamMenu : System.Web.UI.Page
{
//<2F>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
Song.Entities.ManageMenu[] _allMM;
//<2F><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>
private int root = WeiSha.Common.Request.QueryString["root"].Int32 ?? 441;
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><31><C8A1><EFBFBD><EFBFBD>
private int level = WeiSha.Common.Request.QueryString["level"].Int32 ?? 1;
protected void Page_Load(object sender, EventArgs e)
{
if (level == 1)
{
Response.Write(_BuildLevelOne());
}
else
{
if (Extend.LoginState.Admin.IsAdmin)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF>ò˵<C3B2><CBB5><EFBFBD>
_allMM = Business.Do<IManageMenu>().GetAll(true, true, "func");
}
else
{
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ܲ˵<DCB2><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в˵<D0B2><CBB5><EFBFBD>
_allMM = Business.Do<IPurview>().GetAll4Emplyee(Extend.LoginState.Admin.CurrentUserId);
}
if (_allMM != null)
{
Response.Write(_BuildMenu(_allMM));
}
}
Response.End();
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>
/// </summary>
/// <returns></returns>
private string _BuildLevelOne()
{
Song.Entities.ManageMenu[] mm = Business.Do<IManageMenu>().GetChilds(root, true, true);
string tm = "";
foreach (Song.Entities.ManageMenu m in mm)
{
tm += " <div class=\"rootItem\"><a href=\"" + m.MM_Link + "\" type=\"" + m.MM_Type + "\">" + m.MM_Name + "</a></div>";
}
return tm;
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>Ȩ<EFBFBD>޲˵<DEB2>
/// </summary>
/// <returns></returns>
private string _BuildMenu(Song.Entities.ManageMenu[] mm)
{
string tmp = "";
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>ڵ<EFBFBD>
Extend.MenuNode root = new Extend.MenuNode(null, mm);
if (root.IsChilds)
{
//<2F>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ˵<D3B2>
tmp += this._BuildMenuItem(root.Childs[0], 0, root.Childs[0].MM_Name);
}
return tmp;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>Ӳ˵<D3B2><CBB5><EFBFBD><EFBFBD><EFBFBD>
private string _BuildMenuItem(Song.Entities.ManageMenu mm, int level, string path)
{
Extend.MenuNode node = new Song.Extend.MenuNode(mm, _allMM);
//<2F><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ӽڵ㣬<DAB5><E3A3AC>ֱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>
if (!node.IsChilds) return "";
//
string tmp = "";
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>˵<EFBFBD>
string itemClass = level == 0 ? "rootItem" : "item";
string panelClass = level == 0 ? "rootPanel" : "";
//һ<><D2BB><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>Ҫǰ̨<C7B0><CCA8>ʾ<EFBFBD>IJ˵<C4B2>
for (int i = 0; i < node.Childs.Length; i++)
{
Song.Entities.ManageMenu m = node.Childs[i];
Extend.MenuNode n = new Song.Extend.MenuNode(m, _allMM);
tmp += " <div class=\"" + itemClass + " " + (n.IsChilds ? "child" : "") + "\" mid=\"" + m.MM_Id + "\" tax=\"" + i + "\">";
tmp += "<a href=\"" + m.MM_Link + "\" type=\"" + m.MM_Type + "\">" + m.MM_Name + "</a></div>";
if (n.IsChilds)
{
tmp += "<div class=\"MenuPanel "+panelClass+"\" style=\"display:none;z-index:"+(level+100)+"\" pid=\"" + m.MM_Id + "\">";
tmp += this._BuildMenuItem(m, level+1, path + "," + m.MM_Name);
tmp += "</div>";
}
}
return tmp;
}
//<2F><><EFBFBD>ɽڵ<C9BD><DAB5><EFBFBD><EFBFBD>ı<EFBFBD>
//node:<3A><>ǰ<EFBFBD>ڵ<EFBFBD>
//data:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
//clas:<3A><>ǰ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>style
private string _SysBuildNode(Song.Entities.ManageMenu m, string clas, string path)
{
Extend.MenuNode node = new Song.Extend.MenuNode(m, _allMM);
string temp = "<div nodeId=\"" + m.MM_Id + "\"";
temp += " nodetype=\"" + m.MM_Type + "\" ";
temp += " title='" + (m.MM_Intro == "" ? m.MM_Name : m.MM_Intro) + "'";
temp += " isChild=\"" + node.IsChilds + "\" type=\"" + clas + "\" >";
//<2F>˵<EFBFBD><CBB5>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ʽ
string style = " ";
if (m.MM_Color != String.Empty && m.MM_Color != null) style += "color: " + m.MM_Color + ";";
if (m.MM_IsBold) style += "font-weight: bold;";
if (m.MM_IsItalic) style += "font-style: italic;";
if (m.MM_Font != String.Empty && m.MM_Font != null) style += "font-family: '" + m.MM_Font + "';";
string name = "<span style=\"" + style + "\">" + m.MM_Name + "</span>";
if (m.MM_Link != "")
{
string link = "";
link += "<{0} href=\"";
link += m.MM_Link + "\" isChild=\"" + node.IsChilds + "\" IsUse=\"" + m.MM_IsUse
+ "\" width=\"" + m.MM_WinWidth + "\" height=\""+m.MM_WinHeight
+ "\" path=\"" + path + "\" target=\"_blank\" class=\"a\">";
link += name + "</{0}>";
switch(m.MM_Type.ToLower())
{
case "link":
link = string.Format(link, "a");
break;
default:
link = link.Replace("{0}", "span");
break;
}
temp += link;
}
else
{
temp += name;
}
temp += "</div>";
return temp;
}
}
}