migrate to new git
This commit is contained in:
136
web/admin/menu.ascx.cs
Normal file
136
web/admin/menu.ascx.cs
Normal file
@@ -0,0 +1,136 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Data;
|
||||
using System.Data.OleDb;
|
||||
|
||||
public partial class admin_menu : MyWeb.web_uc, MyWeb.config.IMenu
|
||||
{
|
||||
|
||||
string PageUrl = ""; //目前後台的路徑
|
||||
string Power = ""; //帳號權限
|
||||
bool isDesigner = false;
|
||||
List<string> nItem = new List<string>();
|
||||
int setNav = 0;
|
||||
DataTable menuDt = new DataTable();
|
||||
|
||||
public void Data(DataTable dt)
|
||||
{
|
||||
menuDt = dt;
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
MyWeb.admin admin = new MyWeb.admin();
|
||||
if (admin.isLoign() && HttpContext.Current.Request.RawUrl.ToLower().IndexOf("admin/index.aspx") == -1)
|
||||
{
|
||||
Power = admin.info.power;
|
||||
if (Left(Power, 1) == ",") { Power = Right(Power, Power.Length - 1); }
|
||||
if (Right(Power, 1) == ",") { Power = Left(Power, Power.Length - 1); }
|
||||
|
||||
string[] UrlTmp = Request.Url.AbsolutePath.ToLower().Split('/');
|
||||
PageUrl = UrlTmp[UrlTmp.Length - 2] + "/" + UrlTmp[UrlTmp.Length - 1];
|
||||
|
||||
if (admin.info.u_id == "Designer" && admin.info.group == "EZ") { isDesigner = true; }
|
||||
|
||||
Repeater1.DataSource = MenuRows();
|
||||
Repeater1.DataBind();
|
||||
|
||||
((MyWeb.config.MenuNav)Page.Master.FindControl("nav")).InitNav(nItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected DataTable MenuRows(int root=0)
|
||||
{
|
||||
DataTable dt = new DataTable();
|
||||
MyWeb.sql sql = new MyWeb.sql();
|
||||
OleDbConnection sqlConn = sql.conn(db, p_name);
|
||||
try
|
||||
{
|
||||
sqlConn.Open();
|
||||
OleDbCommand sqlCmd = new OleDbCommand("", sqlConn);
|
||||
|
||||
if (!isDesigner)
|
||||
{
|
||||
//非設計師模式檢查權限
|
||||
if (!isStrNull(Power))
|
||||
{
|
||||
sqlCmd.CommandText = "SELECT * FROM [item] Where root=? and num in (" + Power + ") order by range";
|
||||
sqlCmd.Parameters.Add(new OleDbParameter("root", root));
|
||||
dt = sql.dataTable(sqlCmd);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sqlCmd.CommandText = "SELECT * FROM [item] Where root=? order by range";
|
||||
sqlCmd.Parameters.Add(new OleDbParameter("root", root));
|
||||
dt = sql.dataTable(sqlCmd);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//Response.Write(ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
sqlConn.Close(); sqlConn.Dispose();
|
||||
}
|
||||
return dt;
|
||||
}
|
||||
|
||||
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
|
||||
{
|
||||
DataRowView row = (DataRowView)e.Item.DataItem;
|
||||
HiddenField1.Value = ValString(row["num"]);
|
||||
rtmp.Value = ValString(row["title"]);
|
||||
|
||||
if (menuDt.Rows.Count > 0)
|
||||
{
|
||||
DataTable dt = menuDt.Copy();
|
||||
for (int i = dt.Rows.Count-1; i >=0; i--) { if (dt.Rows[i]["root"].ToString() != HiddenField1.Value) { dt.Rows.Remove(dt.Rows[i]); } }
|
||||
if (dt.Rows.Count > 0)
|
||||
{
|
||||
Repeater Repeater2 = (Repeater)e.Item.FindControl("Repeater2");
|
||||
Repeater2.DataSource = dt;
|
||||
Repeater2.DataBind();
|
||||
dt.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void Repeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)
|
||||
{
|
||||
DataRowView row = (DataRowView)e.Item.DataItem;
|
||||
|
||||
if (ValString(row["url"]).ToLower().IndexOf(PageUrl) > -1)
|
||||
{
|
||||
setNav++;
|
||||
}
|
||||
else if (ValString(row["other_url"]).ToLower().IndexOf(PageUrl) > -1)
|
||||
{
|
||||
setNav++;
|
||||
}
|
||||
|
||||
if (setNav==1)
|
||||
{
|
||||
setNav++;
|
||||
ExpandMenu.Text = "<input type=\"hidden\" id=\"ExpandMenuNum\" value=\"" +HiddenField1.Value + "\" />";
|
||||
nItem.Add(rtmp.Value);
|
||||
if ((PageUrl.IndexOf("reg.aspx") > -1 || PageUrl.IndexOf("edit.aspx") > -1) && !isStrNull(Request["num"]))
|
||||
{
|
||||
nItem.Add(ValString(row["title"]).Replace("登錄", "修改").Replace("查詢", "修改").Replace("新增", "修改"));
|
||||
}
|
||||
else
|
||||
{
|
||||
nItem.Add(ValString(row["title"]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user