Step 3
原本是寫死的功能按鍵,後來改成Tree View, 點字或是+皆可以
***網頁的程式***
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MenuLeft.aspx.cs" Inherits="MenuLeft" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
#TreeViewNodeStyle{
width: 180px;
border-right: 1px solid #000;
padding: 0 0 1em 0;
margin-bottom: 1em;
font-family: 'Microsoft JhengHei';
font-size: 100%;
background-color: #90bade;
color: #333;
}
* html #blueblock{ /*IE 6 only */
width: 147px; /*Box model bug: 180px minus all left and right paddings for #blueblock */
}
#blueblock ul{
list-style: none;
margin: 0;
padding:0;
border: none;
}
#blueblock li {
border-bottom: 1px solid #90bade;
margin: 0;
}
#blueblock li a{
display: block;
padding: 5px 5px 5px 8px;
border-left: 10px solid #1958b7;
border-right: 10px solid #508fc4;
background-color: #2175bc;
color: #fff;
text-decoration: none;
width: 100%;
}
html>body #blueblock li a{ /*Non IE6 width*/
width: auto;
}
#blueblock li a:hover{
border-left: 10px solid #1c64d1;
border-right: 10px solid #5ba3e0;
background-color: #2586d7;
color: #fff;
}
.TreeViewNodeStyle
{
color:White;
border-bottom-color:White;
background-color: #2175BC;
width: 130px;
font-family: 'Microsoft JhengHei';
font-size: 100%;
margin-bottom: 7px;
margin-top: 7px;
padding-left:5px;
border-bottom: 1px solid #90bade;
border-left: 10px solid #1958b7;
border-right: 10px solid #508fc4;
}
.TreeViewHoverStyle
{
cursor:hand;
color:Yellow;
border-bottom-color:White;
background-color: #2586d7;
}
</style>
</head>
<body style="margin: 0px;">
<form id="form1" runat="server" method="POST" name="form1" >
<%-- <div id="blueblock">
<ul>
<asp:Panel ID="UOAToDoListWait" runat="server" Visible="false">
<li><a href="UOAToDoListWait.aspx" target="main">新案取件</a></li>
</asp:Panel>
<asp:Panel ID="UOAToDoList" runat="server" Visible="false">
<li><a href="UOAToDoList.aspx" target="main">待辦清單</a></li>
</asp:Panel>
<asp:Panel ID="IOAMainList" runat="server" Visible="false">
<li><a href="IOAMainList.aspx" target="main">個人案件查詢</a></li>
</asp:Panel>
<asp:Panel ID="UOAToDoList000OA0" runat="server" Visible="false">
<li><a href="UOAToDoList000OA0.aspx" target="main">綜作待辦</a></li>
</asp:Panel>
<asp:Panel ID="IOADeliverToExcel" runat="server" Visible="false">
<li><a href="IOADeliverToExcel.aspx" target="main">對保資料下載</a></li>
</asp:Panel>
<asp:Panel ID="UOASetDeliver" runat="server" Visible="false">
<li><a href="UOASetDeliver.aspx" target="main">對保人員設定</a></li>
</asp:Panel>
<asp:Panel ID="UOAAdminDetail" runat="server" Visible="false">
<li><a href="UOAAdminDetail.aspx" target="main">資料調整</a></li>
</asp:Panel>
<asp:Panel ID="IOAAdminMainList" runat="server" Visible="false">
<li><a href="IOAAdminMainList.aspx" target="main">所有案件查詢</a></li>
</asp:Panel>
<asp:Panel ID="AuthSetting" runat="server" Visible="false">
<li><a href="AuthSetting.aspx" target="main">分行系統權限設定</a></li>
</asp:Panel>
<asp:Panel ID="AuthSetting_ForEmp" runat="server" Visible="false">
<li><a href="AuthSetting_ForEmp.aspx" target="main">例外權限設定</a></li>
</asp:Panel>
<asp:Panel ID="IOAAdminReport" runat="server" Visible="false">
<li><a href="IOAAdminReport.aspx" target="main">報表</a></li>
</asp:Panel>
<asp:Panel ID="FileManager" runat="server" Visible="false" >
<li><FONT color="mediumblue"><a href="FileManager.aspx" target="main">檔案管理</a></FONT></li>
</asp:Panel>
<asp:Panel ID="Panel1" runat="server" >
<li><FONT color="mediumblue"><a href="manual.pdf" target="_blank">操作手冊</a></FONT></li>
</asp:Panel>
<asp:Panel ID="Panel2" runat="server" >
<li><FONT color="mediumblue"><a href="ContactInfo.aspx" target="main" >聯絡窗口</a></FONT></li>
</asp:Panel>
</ul>
</div> BackColor="#90BADE" CssClass="TreeViewHoverStyle"--%>
//要有NoExpandImageUrl ="\images\ExpandImageUrl.ico" ExpandImageUrl ="\images\NoExpandImageUrl.ico"
CollapseImageUrl ="\images\CollapseImageUrl.ico"
<asp:TreeView ID="TreeView" runat="server"
NodeWrap="true" ShowExpandCollapse="true" NoExpandImageUrl ="\images\ExpandImageUrl.ico" ExpandImageUrl ="\images\NoExpandImageUrl.ico"
CollapseImageUrl ="\images\CollapseImageUrl.ico"
ShowLines="False" Enabled="True">
<HoverNodeStyle CssClass="TreeViewHoverStyle" />
<NodeStyle Font-Bold="False" CssClass="TreeViewNodeStyle" />
<SelectedNodeStyle />
</asp:TreeView>
<%-- --%><br /> <asp:TextBox ID="TxtEmpID" runat="server" Text =""></asp:TextBox><br />
(空白以按鍵上的編號為切換人)
<asp:Button ID="Button1" runat="server" Text="切換人員108798" onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="切換人員107006" onclick="Button2_Click" />
<asp:Button ID="Button3" runat="server" Text="切換人員102589" onclick="Button3_Click" />
<%--<asp:Button ID="Button4" runat="server" Text="新增案件帶入值" OnClientClick="form1.target='main'" PostBackUrl="http://10.11.36.45/CFP/CaseMainAddWebTM.aspx" />
--%>
<asp:Button ID="Button6" runat="server" Text="新增案件帶入值" OnClientClick="form1.target='main'" PostBackUrl="CaseMainAddWebTM.aspx" />
<br>
<asp:TextBox id="IDNO" runat ="server" Text="F111111111" Width="100px" /> <br>
<asp:TextBox id="CustName" runat ="server" Text="洪小琪" Width="100px" /> <br>
<asp:TextBox id="Tel1" runat ="server" Text="" Width="100px" /> <br>
<asp:TextBox id="Tel2" runat ="server" Text="" Width="100px" /> <br>
<asp:TextBox id="Mobile" runat ="server" Text="0921111111" Width="100px" /> <br>
<asp:TextBox id="Source" runat ="server" Text="WEBTM" Width="100px" /> <br>
<asp:TextBox id="FromProg" runat ="server" Text="WEBTM" Width="100px" /> <br>
<asp:TextBox id="LoginID" runat ="server" Text="107006" Width="100px" /> <br>
<asp:TextBox id="IsEnabledNoMaskID" runat ="server" Text="Y" Width="100px" /> <br>
<asp:Button ID="Button5" runat="server" Text="查詢個人資料" OnClientClick="form1.target='main'" PostBackUrl="CaseMainForWebTM.aspx" />
</form>
</body>
</html>
***程式的資料****
using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;
using SinoPac.WebExpress.Common;
using SinoPac.WebExpress.DAO;
using System.Text.RegularExpressions;
using System.Web.UI.HtmlControls;
public partial class MenuLeft : System.Web.UI.Page
{
#region 頁面共用屬性
//使用權限
private string _AuthList
{
get
{
if (ViewState["_AuthList"] == null) { ViewState["_AuthList"] = ""; }
return (string)(ViewState["_AuthList"]);
}
set
{
ViewState["_AuthList"] = value;
}
}
private string _AuthProgList
{
get
{
if (ViewState["_AuthProgList"] == null) { ViewState["_AuthProgList"] = ""; }
return (string)(ViewState["_AuthProgList"]);
}
set
{
ViewState["_AuthProgList"] = value;
}
}
#endregion
//string[] AuthList;
string Prog = "MenuLeft.aspx";
string ProgID = "MenuLeft";
private string _AuthType = "Public";
//string _CFPDBName = "CFPDB";
static UserInfo oUser;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//依權限,組左邊功能表
buildTree();
}
}
private void buildTree()
{
oUser = UserInfo.getUserInfo();
string strSql = string.Empty;
string strProgID = string.Empty;
DbHelper db = new DbHelper("TempDB");
strSql = "EXEC usp_GetAuthProg '" + Prog + "','" + _AuthType + "','" + oUser.UserID + "','" + oUser.DeptID + "','" + oUser.IsBranch + "','MENU'";
DataTable dt = db.ExecuteDataSet(CommandType.Text, strSql).Tables[0];
TreeNode newNode= new TreeNode();
foreach (DataRow dbRow in dt.Rows)
{
if (dbRow["MenuProgID"].ToString() != "" && strProgID == dbRow["MenuProgID"].ToString())
{
//建立子選單
PopulateSubTree(dbRow, newNode);
}
else
{
//建立主選單
strProgID = dbRow["ProgID"].ToString();
newNode = CreateNode(dbRow["isMenu"].ToString(),dbRow["ProgName"].ToString(), dbRow["ProgID"].ToString(), dbRow["Target"].ToString(), dbRow["ProgUrl"].ToString(), true);
TreeView.Nodes.Add(newNode);
}
}
}
///產生子節點
private void PopulateSubTree(DataRow dbRow, TreeNode node)
{
//foreach (DataRow childRow in dbRow.GetChildRows("NodeRelation"))
//{
TreeNode childNode = CreateNode(dbRow["isMenu"].ToString(),dbRow["ProgName"].ToString(), dbRow["ProgID"].ToString(), dbRow["Target"].ToString(), dbRow["ProgUrl"].ToString(), true);
node.ChildNodes.Add(childNode);
//PopulateSubTree(dbRow, childNode);
//}
}
///節點屬性設定
private TreeNode CreateNode(string isMenu, string ProgName, string ProgID, string Target, string ProgUrl, bool expanded)
{
TreeNode node = new TreeNode(); ;
node.Text = ProgName;
node.Value = ProgID;
node.NavigateUrl = ProgUrl;
//if (Target == "blank")
//{
// node.NavigateUrl = "javascript:window.open('" + ProgUrl + "','NewWindow', 'toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,status=no'); ";
//}
node.Target = Target;
node.Expanded = false;
node.SelectAction = TreeNodeSelectAction.Expand;
return node;
}
//切換人員
protected void Button1_Click(object sender, EventArgs e)
{
//Response.Redirect("/NetReceiverNew.aspx?UserID=" + txtUserID.ucTextData);
string strUserID = TxtEmpID.Text;
if (TxtEmpID.Text != "")
{
strUserID = TxtEmpID.Text;
}
else
{
strUserID = "108798";
}
UserInfo.Init(strUserID, true);
UserInfo oUser = UserInfo.getUserInfo();
UserInfo.setUserUICulture("zh-CHT");
System.Web.Security.FormsAuthentication.SetAuthCookie(strUserID, false);
/*****/
//記錄登入資訊
oUser = UserInfo.getUserInfo();
string hostName = System.Net.Dns.GetHostName();
System.Net.IPHostEntry ip = System.Net.Dns.GetHostEntry(hostName);
string HostIP = Convert.ToString(ip.AddressList[1]);
string ClientID = Request.ServerVariables["REMOTE_ADDR"].ToString();
DateTime dt = DateTime.Now;
string aa = string.Format("{0:G}", dt);
string LogDateTime = String.Format("{0:yyyy/MM/dd HH:mm:ss}", dt);
//判斷權限
string AuthProgList = CFPFunction.CheckAuthProg(_AuthType,Prog);
string[] AuthList = AuthProgList.Split(',');
if (AuthList[0] == "Y")
{
string ProgList = AuthList[1] + "|";
string[] ProgID = ProgList.Split('|');
}
else
{
CFPFunction.SSO_APLoginLog(oUser.UserID, "1", "F", LogDateTime, HostIP, ClientID, "沒有使用權限");
Response.Write("<script language='javascript'>alert('您沒有使用權限,請洽管理者!');top.close();</" + "script>");
}
Response.AddHeader("Refresh", "0");
//更新網頁
Response.Write("<script language='javascript'>parent.location.reload() ;</script>");
}
protected void Button2_Click(object sender, EventArgs e)
{
//Response.Redirect("/NetReceiverNew.aspx?UserID=" + txtUserID.ucTextData);
string strUserID = TxtEmpID.Text;
if (TxtEmpID.Text != "")
{
strUserID = TxtEmpID.Text;
}
else
{
strUserID = "107006";
}
UserInfo.Init(strUserID, true);
UserInfo oUser = UserInfo.getUserInfo();
UserInfo.setUserUICulture("zh-CHT");
System.Web.Security.FormsAuthentication.SetAuthCookie(strUserID, false);
/*****/
//記錄登入資訊
oUser = UserInfo.getUserInfo();
string hostName = System.Net.Dns.GetHostName();
System.Net.IPHostEntry ip = System.Net.Dns.GetHostEntry(hostName);
string HostIP = Convert.ToString(ip.AddressList[1]);
string ClientID = Request.ServerVariables["REMOTE_ADDR"].ToString();
DateTime dt = DateTime.Now;
string aa = string.Format("{0:G}", dt);
string LogDateTime = String.Format("{0:yyyy/MM/dd HH:mm:ss}", dt);
//判斷權限
string AuthProgList = CFPFunction.CheckAuthProg(_AuthType,Prog);
string[] AuthList = AuthProgList.Split(',');
if (AuthList[0] == "Y")
{
string ProgList = AuthList[1] + "|";
string[] ProgID = ProgList.Split('|');
}
else
{
CFPFunction.SSO_APLoginLog(oUser.UserID, "1", "F", LogDateTime, HostIP, ClientID, "沒有使用權限");
Response.Write("<script language='javascript'>alert('您沒有使用權限,請洽管理者!');top.close();</" + "script>");
}
Response.AddHeader("Refresh", "0");
//更新網頁
Response.Write("<script language='javascript'>parent.location.reload() ;</script>");
}
protected void Button3_Click(object sender, EventArgs e)
{
//Response.Redirect("/NetReceiverNew.aspx?UserID=" + txtUserID.ucTextData);
string strUserID = TxtEmpID.Text;
if (TxtEmpID.Text != "")
{
strUserID = TxtEmpID.Text;
}
else
{
strUserID = "102589";
}
UserInfo.Init(strUserID, true);
UserInfo oUser = UserInfo.getUserInfo();
UserInfo.setUserUICulture("zh-CHT");
System.Web.Security.FormsAuthentication.SetAuthCookie(strUserID, false);
/*****/
//記錄登入資訊
oUser = UserInfo.getUserInfo();
string hostName = System.Net.Dns.GetHostName();
System.Net.IPHostEntry ip = System.Net.Dns.GetHostEntry(hostName);
string HostIP = Convert.ToString(ip.AddressList[1]);
string ClientID = Request.ServerVariables["REMOTE_ADDR"].ToString();
DateTime dt = DateTime.Now;
string aa = string.Format("{0:G}", dt);
string LogDateTime = String.Format("{0:yyyy/MM/dd HH:mm:ss}", dt);
//判斷權限
string AuthProgList = CFPFunction.CheckAuthProg(_AuthType, Prog);
string[] AuthList = AuthProgList.Split(',');
if (AuthList[0] == "Y")
{
string ProgList = AuthList[1] + "|";
string[] ProgID = ProgList.Split('|');
}
else
{
CFPFunction.SSO_APLoginLog(oUser.UserID, "1", "F", LogDateTime, HostIP, ClientID, "沒有使用權限");
Response.Write("<script language='javascript'>alert('您沒有使用權限,請洽管理者!');top.close();</" + "script>");
}
Response.AddHeader("Refresh", "0");
//更新網頁
Response.Write("<script language='javascript'>parent.location.reload() ;</script>");
}
}