---------------------------------------------------------
//初始化左边菜单
myPurviewControl.SetTable = FunctionTable;
myPurviewControl.SetNodes = "/MenuScript";
myPurviewControl.MenuID = "Config";
myPurviewControl.ImgUrl = "../Images";
myPurviewControl.SetLanguage = myLanguageSet;
myPurviewControl.ViewFalse = myDataClass.getSystemConfig("IIMSConfig", "ViewFalseMenu");
myDataClass.Close();
//大图标显示
FocusFunction = myPurviewControl.CustemConsole();
//跳转到第个一功能项
Response.Write("<script>window.parent.mainFrame.location.href='" + FocusFunction + "'</script>");
----------------------------------------------------------------
public class PurviewControl
{
#region 定义私有变量
private Table myTable;
private TableRow myTableRow;
private TableCell myTableCell;
private XmlDocument xmlDoc;
private XmlElement xmlElem, myxmlElem, chmyxmlElem;
private XmlNodeList xmlNodeList;
private Table _setTable;
private string _xmlContent;
private string _setNodes;
private string _menuID;
private string _menuName;
private LanguageSet _setLanguage;
private string _imgUrl;
private string _viewFalse;
private string _viewNodes;
private string nodeSecurity;
private Security mySecurity = new Security();
#endregion
public PurviewControl(string getXmlContent)
{
_xmlContent = getXmlContent;
Open();
}
private void Open()
{
xmlDoc = new XmlDocument();
xmlDoc.LoadXml(_xmlContent);
xmlElem = (XmlElement)xmlDoc.DocumentElement;
}
/// <summary>
/// 功能Table对象
/// </summary>
public Table SetTable
{
get
{
return _setTable;
}
set
{
_setTable = value;
}
}
/// <summary>
/// 选择的节点
/// </summary>
public string SetNodes
{
get
{
return _setNodes;
}
set
{
_setNodes = value;
}
}
/// <summary>
/// 显示的节点List
/// </summary>
public string MenuID
{
get
{
return _menuID;
}
set
{
_menuID = value;
}
}
/// <summary>
/// 显示的节点List
/// </summary>
public string MenuName
{
get
{
return _menuName;
}
set
{
_menuName = value;
}
}
public string GuideString()
{
string returnGuide = "";
string NodeStr = "";
string myMenuName;
XmlElement myxmlElem;
if (_viewNodes != null)
{
_viewNodes = _viewNodes.Substring(1, _viewNodes.Length - 1);
string[] guideArr = _viewNodes.Split(new char[1] { '/' });
for (int gID = 0; gID < guideArr.Length; gID++)
{
NodeStr += "/" + guideArr[gID];
myxmlElem = (XmlElement)xmlElem.SelectSingleNode(NodeStr);
myMenuName = myxmlElem.GetAttribute("MenuName");
if (myMenuName != null && myMenuName != "")
{
returnGuide += SetLanguage.GetString(myMenuName)+">";
}
}
}
if (returnGuide != "") returnGuide = returnGuide.Substring(0, returnGuide.Length - 1);
return returnGuide;
}
/// <summary>
/// 显示语言选项
/// </summary>
public LanguageSet SetLanguage
{
get
{
return _setLanguage;
}
set
{
_setLanguage = value;
}
}
/// <summary>
/// 获得图片的路径
/// </summary>
public string ImgUrl
{
get
{
return _imgUrl;
}
set
{
_imgUrl = value;
}
}
/// <summary>
/// 不显示的菜单组
/// </summary>
public string ViewFalse
{
get
{
return (_viewFalse == null) ? String.Empty : _viewFalse;
}
set
{
_viewFalse = value;
}
}
/// <summary>
/// 获得该功能的控制权限
/// </summary>
/// <param name="XmlContent">控制XML文件</param>
/// <param name="SetNodes">取值的节点</param>
/// <returns></returns>
public int getControl(string GetNodes)
{
_viewNodes = GetNodes;
XmlNode xmlNode = xmlElem.SelectSingleNode(GetNodes);
chmyxmlElem = (XmlElement)xmlNode;
try
{
if (chmyxmlElem.GetAttribute("MenuName") == _menuName)
{
return int.Parse(chmyxmlElem.InnerText);
}
else
{
return 0;
}
}
catch
{
return 0;
}
}
/// <summary>
/// 判断菜单是否显示
/// </summary>
/// <param name="MenuName"></param>
/// <returns></returns>
private bool checkedView(string getMenuName)
{
bool returnType = true;
if (_viewFalse != null)
{
string[] ViewFalseArr = _viewFalse.Split(new char[1] { ',' });
foreach (string menuName in ViewFalseArr)
{
if (menuName == getMenuName)
{
returnType = false;
break;
}
}
}
return returnType;
}
/// <summary>
/// 创建CustemConsole系统左功能菜单(大图标显示)
/// </summary>
public string CustemConsole()
{
string titleTable, ContentTable, FocusFunction;
string keepNodes, getNodes, setNodes;
myTable = _setTable;
myTable.BorderWidth = 0;
myTable.CellPadding = 0;
myTable.CellSpacing = 0;
myTable.Style.Add("width", "100%");
FocusFunction = "";
xmlNodeList = xmlElem.SelectSingleNode(_setNodes).ChildNodes;
bool First = true;
bool menuFirst = true;
foreach (XmlNode getxmlNode in xmlNodeList)
{
//根节点内容
myxmlElem = (XmlElement)getxmlNode;
if (myxmlElem.GetAttribute("MenuID") == _menuID)
{
keepNodes = _setNodes + "/" + myxmlElem.Name;
foreach (XmlNode xmlNode in getxmlNode.ChildNodes)
{
myxmlElem = (XmlElement)xmlNode;
getNodes = keepNodes + "/" + myxmlElem.Name;
string xmlNodeName = myxmlElem.GetAttribute("MenuName").ToString();
string xmlNodeID = myxmlElem.GetAttribute("MenuID").ToString();
string xmlNodeLink = myxmlElem.GetAttribute("Link").ToString();
string xmlNodetargetImg = myxmlElem.GetAttribute("targetImg").ToString();
myTableRow = new TableRow();
myTableCell = new TableCell();
//如果是第一项功能
if (checkedView(xmlNodeID))
{
titleTable = "<table border=/"0/" cellpadding=/"0/" cellspacing=/"0/" style=/"width: 100%;/" class=/"left_tableMenuborder/">/n";
if (First)
{
titleTable += " <tr id=/"tr" + xmlNodeID + "/" class=/"left_FocusFunctionMenu/">/n";
titleTable += " <td style=/"width:28px;/" align=/"center/"><img οnclick=/"javascript:fnShowHideContent(this,'" + xmlNodeID + "',tr" + xmlNodeID + ")/" src=/"" + _imgUrl + "/openFunction.gif/" /></td>/n";
}
else
{
titleTable += " <tr id=/"tr" + xmlNodeID + "/" class=/"left_noFocusFunctionMenu/">/n";
titleTable += " <td style=/"width:28px;/" align=/"center/"><img οnclick=/"javascript:fnShowHideContent(this,'" + xmlNodeID + "',tr" + xmlNodeID + ")/" src=/"" + _imgUrl + "/closeFunction.gif/" /></td>/n";
}
titleTable += " <td class=/"left_ContentTitle/">" + _setLanguage.GetString(xmlNodeName) + "</td>/n";
titleTable += " </tr>/n";
titleTable += "</table>/n";
myTableCell.Text = titleTable;
myTableCell.Attributes.Add("onselectstart", "javascript:return false;");
myTableRow.Cells.Add(myTableCell);
myTable.Rows.Add(myTableRow);
myTableRow.Dispose();
myTableCell.Dispose();
//各个功能项
if (checkedView(xmlNodeID))
{
myTableRow = new TableRow();
myTableCell = new TableCell();
ContentTable = "<table border=/"0/" cellpadding=/"0/" cellspacing=/"0/" style=/"width: 100%;/" class=/"left_tableContentborder/">/n";
foreach (XmlNode chNode in xmlNode.ChildNodes)
{
chmyxmlElem = (XmlElement)chNode;
setNodes = getNodes + "/" + chmyxmlElem.Name;
nodeSecurity = mySecurity.EncryptQueryString(setNodes);
string chxmlNodeName = chmyxmlElem.GetAttribute("MenuName").ToString();
string chxmlNodeLink = chmyxmlElem.GetAttribute("Link").ToString();
string chxmlNodetargetImg = chmyxmlElem.GetAttribute("targetImg").ToString();
if (chxmlNodeLink.IndexOf("?") != -1)
chxmlNodeLink += "&keyNode=" + nodeSecurity;
else
chxmlNodeLink += "?keyNode=" + nodeSecurity;
ContentTable += " <tr style=/"height:50px;/" align=/"center/" valign=/"middle/">/n";
if (First)
{
FocusFunction = chxmlNodeLink;
ContentTable += " <td><img id=/"" + chxmlNodetargetImg + "/" name=/"" + chxmlNodetargetImg + "/" οnmοusemοve=/"javascript:imagesOver(this,'" + chxmlNodetargetImg + "')/" οnmοuseοut=/"javascript:imagesOut(this,'" + chxmlNodetargetImg + "')/" οnclick=/"show_Function(this,'" + chxmlNodetargetImg + "','" + chxmlNodeLink + "')/" src=/"" + _imgUrl + "/" + chxmlNodetargetImg + "_focus.gif/" /></td>/n";
First = false;
}
else
{
ContentTable += " <td><img id=/"" + chxmlNodetargetImg + "/" name=/"" + chxmlNodetargetImg + "/" οnmοusemοve=/"javascript:imagesOver(this,'" + chxmlNodetargetImg + "')/" οnmοuseοut=/"javascript:imagesOut(this,'" + chxmlNodetargetImg + "')/" οnclick=/"show_Function(this,'" + chxmlNodetargetImg + "','" + chxmlNodeLink + "')/" src=/"" + _imgUrl + "/" + chxmlNodetargetImg + "_normal.gif/" /></td>/n";
}
ContentTable += " </tr>/n";
ContentTable += " <tr style=/"height:20px;/" align=/"center/">/n";
ContentTable += " <td>" + _setLanguage.GetString(chxmlNodeName) + "</td>/n";
ContentTable += " </tr>/n";
}
ContentTable += "</table>/n";
myTableCell.Text = ContentTable;
myTableCell.Attributes.Add("onselectstart", "javascript:return false;");
myTableRow.Cells.Add(myTableCell);
if (menuFirst)
{
myTableRow.Style.Add("display", "");
menuFirst = false;
}
else
{
myTableRow.Style.Add("display", "none");
}
myTableRow.ID = xmlNodeID;
myTableCell.Dispose();
myTable.Rows.Add(myTableRow);
myTableRow.Dispose();
myTableRow = new TableRow();
myTableCell = new TableCell();
myTableCell.Height = 2;
myTableRow.Cells.Add(myTableCell);
myTable.Rows.Add(myTableRow);
}
myTableRow.Dispose();
myTableCell.Dispose();
}
}
break;
}
}
//返回第一项功能Link
return FocusFunction;
}
/// <summary>
/// 创建SmallConsole系统左功能菜单(小图标显示)
/// </summary>
public string SmallConsole()
{
string titleTable, ContentTable, FocusFunction;
string keepNodes, getNodes, setNodes;
myTable = _setTable;
myTable.BorderWidth = 0;
myTable.CellPadding = 0;
myTable.CellSpacing = 0;
myTable.Style.Add("width", "100%");
FocusFunction = "";
xmlNodeList = xmlElem.SelectSingleNode(_setNodes).ChildNodes;
bool First = true;
bool menuFirst = true;
foreach (XmlNode getxmlNode in xmlNodeList)
{
//根节点内容
myxmlElem = (XmlElement)getxmlNode;
if (myxmlElem.GetAttribute("MenuID") == _menuID)
{
keepNodes = _setNodes + "/" + myxmlElem.Name;
foreach (XmlNode xmlNode in getxmlNode.ChildNodes)
{
myxmlElem = (XmlElement)xmlNode;
getNodes = keepNodes + "/" + myxmlElem.Name;
string xmlNodeName = myxmlElem.GetAttribute("MenuName").ToString();
string xmlNodeID = myxmlElem.GetAttribute("MenuID").ToString();
string xmlNodeLink = myxmlElem.GetAttribute("Link").ToString();
string xmlNodetargetImg = myxmlElem.GetAttribute("targetImg").ToString();
myTableRow = new TableRow();
myTableCell = new TableCell();
if (checkedView(xmlNodeID))
{
titleTable = "<table border=/"0/" cellpadding=/"0/" cellspacing=/"0/" style=/"width: 100%;/" class=/"left_tableMenuborder/">/n";
if (First)//如果是第一项功能
{
titleTable += " <tr id=/"tr" + xmlNodeID + "/" class=/"left_FocusFunctionMenu/">/n";
titleTable += " <td style=/"width:28px;/" align=/"center/"><img οnclick=/"javascript:fnShowHideContent(this,'" + xmlNodeID + "',tr" + xmlNodeID + ")/" src=/"" + _imgUrl + "/openFunction.gif/" /></td>/n";
}
else
{
titleTable += " <tr id=/"tr" + xmlNodeID + "/" class=/"left_noFocusFunctionMenu/">/n";
titleTable += " <td style=/"width:28px;/" align=/"center/"><img οnclick=/"javascript:fnShowHideContent(this,'" + xmlNodeID + "',tr" + xmlNodeID + ")/" src=/"" + _imgUrl + "/closeFunction.gif/" /></td>/n";
}
titleTable += " <td class=/"left_ContentTitle/">" + _setLanguage.GetString(xmlNodeName) + "</td>/n";
titleTable += " </tr>/n";
titleTable += "</table>/n";
myTableCell.Text = titleTable;
myTableCell.Attributes.Add("onselectstart", "javascript:return false;");
myTableRow.Cells.Add(myTableCell);
myTable.Rows.Add(myTableRow);
myTableRow.Dispose();
myTableCell.Dispose();
//各个功能项
if (checkedView(xmlNodeID))
{
myTableRow = new TableRow();
myTableCell = new TableCell();
ContentTable = "<table border=/"0/" cellpadding=/"0/" cellspacing=/"0/" style=/"width: 100%;/" class=/"left_tableContentborder/">/n";
foreach (XmlNode chNode in xmlNode.ChildNodes)
{
XmlElement chmyxmlElem = (XmlElement)chNode;
setNodes = getNodes + "/" + chmyxmlElem.Name;
nodeSecurity = mySecurity.EncryptQueryString(setNodes);
string chxmlNodeName = chmyxmlElem.GetAttribute("MenuName").ToString();
string chxmlNodeLink = chmyxmlElem.GetAttribute("Link").ToString();
string chxmlNodetargetImg = chmyxmlElem.GetAttribute("targetImg").ToString();
if (chxmlNodeLink.IndexOf("?") != -1)
chxmlNodeLink += "&keyNode=" + nodeSecurity;
else
chxmlNodeLink += "?keyNode=" + nodeSecurity;
ContentTable += " <tr style=/"height:24px;/" valign=/"middle/">/n";
ContentTable += " <td width=/"40px/" align=/"center/"><img height=/"21px/" width=/"21px/" id=/"" + chxmlNodetargetImg + "/" name=/"" + chxmlNodetargetImg + "/" src=/"" + _imgUrl + "/" + chxmlNodetargetImg + "_normal.gif/" /></td>/n";
if (First)
{
FocusFunction = chxmlNodeLink;
First = false;
}
ContentTable += " <td align=/"left/"><a href=/"" + chxmlNodeLink + "/" target=/"mainFrame/">" + _setLanguage.GetString(chxmlNodeName) + "</a></td>/n";
ContentTable += " </tr>/n";
}
ContentTable += "</table>/n";
myTableCell.Text = ContentTable;
myTableCell.Attributes.Add("onselectstart", "javascript:return false;");
myTableRow.Cells.Add(myTableCell);
if (menuFirst)
{
myTableRow.Style.Add("display", "");
menuFirst = false;
}
else
{
myTableRow.Style.Add("display", "none");
}
myTableRow.ID = xmlNodeID;
myTableCell.Dispose();
myTable.Rows.Add(myTableRow);
myTableRow.Dispose();
myTableRow = new TableRow();
myTableCell = new TableCell();
myTableCell.Height = 2;
myTableRow.Cells.Add(myTableCell);
myTable.Rows.Add(myTableRow);
}
myTableRow.Dispose();
myTableCell.Dispose();
}
}
break;
}
}
//返回第一项功能Link
return FocusFunction;
}
}