ASP.NET实现树型菜单(简单代码)结合js
/// <summary>
/// 绑定主页列表
/// </summary>
protected void treeBind()
{
SqlConnection conn = SqlHelper.dbconn();
try
{
conn.Open();
DataTable dt = SqlHelper.ExecuteDataTable(conn, "select * from DyjGroup");
string _class = string.Empty;
_class = "<ul>";
_class += this.Tree(dt, 0);
_class += "</ul>";
show.Text = _class; //显示到前台
_TreeList = "";
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
conn.Close();
}
}
//主要功能
/// <summary>
///
/// </summary>
/// <param name="dt">datatable</param>
/// <param name="_gid">父id</param>
/// <returns></returns>
protected string Tree(DataTable dt, int _gid)
{
string _moveTree = string.Empty;
string _AddPenson = string.Empty;
string _NextLink = string.Empty;
string _toGroupName = string.Empty;
string _LinkGroupName = string.Empty;
string _Grights = string.Empty;
int _togid = 0;
int _tolayer = 0;
DataRow[] _TreeDr = dt.Select("[parent]=" + _gid);
for (int i = 0; i < _TreeDr.Length; i++)
{
_togid = (int)_TreeDr[i]["GroupId"];
_toGroupName = _TreeDr[i]["GroupName"].ToString();
_tolayer = (int)_TreeDr[i]["layer"]; //下一层
//_NextLink = " <a href=?act=add&gid=" + _togid + "&layer=" + (_tolayer + 1) + " target=main><img src=../style/imagesIco/addgroup.gif align='absmiddle' alt='添加子组别' border=0></a>";
if (function.getSession("jobname") == "管理员")
{
_AddPenson = "<a href=AddPenson.aspx?gid=" + _togid + " title='在此组别增加员工' target=main><img src=../style/imagesIco/penson.gif align='absmiddle' alt='在此组别增加员工' border=0></a>";
_NextLink = " <a href=?act=add&gid=" + _togid + "&layer=" + (_tolayer + 1) + " target=main><img src=../style/imagesIco/addgroup.gif align='absmiddle' alt='添加子组别' border=0></a>";
_Grights = "<a href=RightsSet.aspx?style=group&pid=" + _togid + " title='组别权限设置' target=main><img src=../style/imagesIco/Rights.gif align='absmiddle' alt='组别权限设置' border=0></a>";
}
_LinkGroupName = "<a href='PensonList.aspx?act=group&GroupId=" + _togid + "' target=main>" + _toGroupName + "</a>";
if (Convert.ToInt32(_TreeDr[i]["layer"]) != 1)
{
// _moveTree = " <a href=MoveCrmclass.aspx?gid=" + _togid + " title='移动组别'><img src=../style/imagesIco/move.gif align='absmiddle' border=0></a>";//移动组别
}
if (_tolayer == 1)
{
_TreeList += "<li class='Opened'>" + _LinkGroupName + _NextLink + " " + _moveTree + " " + _AddPenson + _Grights;
_TreeList += "<ul>";
Tree(dt, _togid); //
_TreeList += "</ul></li>\n";
}
else
{
//是否还有子节点
if (dt.Select("[parent]=" + _togid).Length > 0)
{
_TreeList += "\t<li>" + _LinkGroupName + _NextLink + " " + _moveTree + " " + _AddPenson + _Grights + "\n\t\t<ul>\n";
Tree(dt, _togid);//
_TreeList += "</ul>\n</li>\n";
}
else
{
_TreeList += "<li>" + _LinkGroupName + _NextLink + " " + _moveTree + " " + _AddPenson + _Grights + "</li>\n";
}
}
}
return _TreeList;
}