365 lines
11 KiB
C#
365 lines
11 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Configuration;
|
||
using System.Linq;
|
||
using System.Web;
|
||
using System.Web.UI.WebControls;
|
||
|
||
namespace FineUIPro.Web
|
||
{
|
||
public partial class index : PageBase
|
||
{
|
||
#region EnableFStatePersistence
|
||
|
||
/// <summary>
|
||
/// 首页没有回发操作,所以无需在服务器端保存FState
|
||
/// </summary>
|
||
protected override bool SaveFStateToServer
|
||
{
|
||
get
|
||
{
|
||
return false;
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region Page_Init
|
||
|
||
private string _menuType = "tree";
|
||
private string _searchText = "";
|
||
|
||
// 主选项卡标签页
|
||
private string _mainTabs = "multi";
|
||
|
||
// 示例数
|
||
private int _examplesCount = 0;
|
||
|
||
|
||
#region Page_Init
|
||
|
||
protected void Page_Init(object sender, EventArgs e)
|
||
{
|
||
////////////////////////////////////////////////////////////////
|
||
string themeStr = Request.QueryString["theme"];
|
||
string menuStr = Request.QueryString["menu"];
|
||
string https = ConfigurationManager.AppSettings["Https"];
|
||
|
||
if (!String.IsNullOrEmpty(themeStr) || !String.IsNullOrEmpty(menuStr))
|
||
{
|
||
if (!String.IsNullOrEmpty(themeStr))
|
||
{
|
||
if (themeStr == "bootstrap1")
|
||
{
|
||
themeStr = "bootstrap_pure";
|
||
}
|
||
HttpCookie cookie = new HttpCookie("Theme", themeStr);
|
||
cookie.Expires = DateTime.Now.AddYears(1);
|
||
if (https == "true")
|
||
{
|
||
cookie.Secure = true;
|
||
}
|
||
Response.Cookies.Add(cookie);
|
||
}
|
||
|
||
if (!String.IsNullOrEmpty(menuStr))
|
||
{
|
||
HttpCookie cookie = new HttpCookie("MenuStyle", menuStr);
|
||
cookie.Expires = DateTime.Now.AddYears(1);
|
||
if (https == "true")
|
||
{
|
||
cookie.Secure = true;
|
||
}
|
||
Response.Cookies.Add(cookie);
|
||
}
|
||
|
||
PageContext.Redirect("~/default.aspx");
|
||
return;
|
||
}
|
||
////////////////////////////////////////////////////////////////
|
||
|
||
|
||
|
||
// 从Cookie中读取 - 左侧菜单类型
|
||
HttpCookie menuCookie = Request.Cookies["MenuStyle"];
|
||
if (menuCookie != null)
|
||
{
|
||
_menuType = menuCookie.Value;
|
||
}
|
||
|
||
// 新版首页不再支持手风琴+树控件的情况,这样会增加复杂度
|
||
if (_menuType == "accordion")
|
||
{
|
||
_menuType = "tree";
|
||
}
|
||
|
||
// 从Cookie中读取 - 搜索文本
|
||
HttpCookie searchText = Request.Cookies["SearchText"];
|
||
if (searchText != null)
|
||
{
|
||
_searchText = HttpUtility.UrlDecode(searchText.Value);
|
||
}
|
||
|
||
// 从Cookie中读取 - 是否单标签页
|
||
HttpCookie mainTabs = Request.Cookies["MainTabs"];
|
||
if (mainTabs != null)
|
||
{
|
||
_mainTabs = mainTabs.Value;
|
||
}
|
||
|
||
|
||
InitTreeMenu();
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region InitAccordionMenu
|
||
private Accordion InitAccordionMenu()
|
||
{
|
||
Accordion accordionMenu = new Accordion();
|
||
accordionMenu.ID = "accordionMenu";
|
||
accordionMenu.EnableFill = false;
|
||
accordionMenu.ShowBorder = false;
|
||
accordionMenu.ShowHeader = false;
|
||
leftPanel.Items.Add(accordionMenu);
|
||
|
||
var dt = GetNewMenu("0");
|
||
foreach (var dr in dt)
|
||
{
|
||
AccordionPane accordionPane = new AccordionPane();
|
||
accordionPane.Title = dr.MenuName;
|
||
//accordionPane.Layout = Layout.Fit;
|
||
accordionPane.ShowBorder = false;
|
||
accordionPane.BodyPadding = "2px 0 0 0";
|
||
accordionMenu.Items.Add(accordionPane);
|
||
|
||
Tree innerTree = new Tree();
|
||
innerTree.ShowBorder = false;
|
||
innerTree.ShowHeader = false;
|
||
innerTree.EnableIcons = true;
|
||
innerTree.AutoScroll = true;
|
||
innerTree.EnableSingleClickExpand = true;
|
||
accordionPane.Items.Add(innerTree);
|
||
|
||
BoundTree(innerTree.Nodes, dr.MenuId);
|
||
}
|
||
return accordionMenu;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 加载树
|
||
/// </summary>
|
||
/// <param name="nodes"></param>
|
||
/// <param name="menuId"></param>
|
||
private void BoundTree(TreeNodeCollection nodes, string menuId)
|
||
{
|
||
var dt = GetNewMenu(menuId);
|
||
if (menuId == "0")
|
||
{
|
||
if (dt.Count() > 0)
|
||
{
|
||
TreeNode tn = null;
|
||
foreach (var dr in dt)
|
||
{
|
||
tn = new TreeNode();
|
||
//tn.Text = dr.MenuName;
|
||
tn.Text = dr.MenuEnName;
|
||
tn.NodeID = dr.MenuId;
|
||
if (this.GetLanguage == "en-US")
|
||
{
|
||
tn.Text = dr.MenuEnName;
|
||
}
|
||
if (dr.SuperMenu != "0" && !string.IsNullOrEmpty(dr.Url))
|
||
{
|
||
tn.NavigateUrl = dr.Url;
|
||
}
|
||
nodes.Add(tn);
|
||
BoundTree(tn.Nodes, dr.MenuId);
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (dt.Count() > 0)
|
||
{
|
||
TreeNode tn = null;
|
||
foreach (var dr in dt)
|
||
{
|
||
tn = new TreeNode();
|
||
//tn.Text = dr.MenuName;
|
||
tn.Text = dr.MenuEnName;
|
||
tn.NodeID = dr.MenuId;
|
||
if (this.GetLanguage == "en-US")
|
||
{
|
||
tn.Text = dr.MenuEnName;
|
||
}
|
||
if (dr.SuperMenu != "0" && !string.IsNullOrEmpty(dr.Url))
|
||
{
|
||
|
||
if (dr.Url.Contains("default.aspx"))
|
||
{
|
||
//tn.NavigateUrl=ResolveUrl("~/"+dr.Url);
|
||
}
|
||
else
|
||
{
|
||
tn.NavigateUrl = dr.Url;
|
||
}
|
||
}
|
||
nodes.Add(tn);
|
||
BoundTree(tn.Nodes, dr.MenuId);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
#endregion
|
||
|
||
#region InitTreeMenu
|
||
private Tree InitTreeMenu()
|
||
{
|
||
var dt = GetNewMenu("0");
|
||
BoundTree(treeMenu.Nodes, "0");
|
||
return treeMenu;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 得到菜单方法
|
||
/// </summary>
|
||
/// <param name="parentId"></param>
|
||
/// <returns></returns>
|
||
private List<Model.Sys_Menu> GetNewMenu(string parentId)
|
||
{
|
||
List<Model.Sys_Menu> menu = new List<Model.Sys_Menu>();
|
||
var menuList = BLL.CommonService.GetMenuByRoleRower(this.CurrUser.UserId);
|
||
if (menuList.Count() > 0)
|
||
{
|
||
menu = menuList.Where(x => x.SuperMenu == parentId).ToList();
|
||
}
|
||
|
||
return menu;
|
||
}
|
||
#endregion
|
||
|
||
#region 获取用户系统权限
|
||
/// <summary>
|
||
/// 用户ID
|
||
/// </summary>
|
||
/// <param name="userId"></param>
|
||
//private void GetUserLoginSystem(string userId)
|
||
//{
|
||
// var user = BLL.Sys_UserService.GetUsersByUserId(userId);
|
||
//this.btnGDAZ.Visible = false;
|
||
//this.btnYLRQ.Visible = false;
|
||
|
||
//if (user != null && user.AllowLoginSystem!=null)
|
||
//{
|
||
// string[] systems = user.AllowLoginSystem.Split('|');
|
||
|
||
// foreach (string sys in systems)
|
||
// {
|
||
//if (sys == BLL.Const.System_2)
|
||
//{
|
||
// btnGDAZ.Visible = true;
|
||
//}
|
||
|
||
//if (sys == BLL.Const.System_4)
|
||
//{
|
||
|
||
// btnYLRQ.Visible = true;
|
||
//}
|
||
// }
|
||
// }
|
||
|
||
//}
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
#region Page_Load
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (!IsPostBack)
|
||
{
|
||
InitMenuStyleButton();
|
||
InitMenuDisplayModeButton();
|
||
InitMenuRegionButton();
|
||
|
||
hfExamplesCount.Text = _examplesCount.ToString();
|
||
|
||
// 为CSS样式文件添加版本号,防止版本更新时客户端缓存
|
||
linkIndexCSS.Href = "~/res/css/index.css?v" + GlobalConfig.ProductVersion;
|
||
linkMobileViewCss.Href = "~/res/css/mobileview.css?v" + GlobalConfig.ProductVersion;
|
||
litScriptIndex.Text = String.Format("<script src=\"{0}\"></script>", ResolveClientUrl("~/res/js/index.js?v" + GlobalConfig.ProductVersion));
|
||
|
||
// 单标签页
|
||
//if (_mainTabs == "single")
|
||
//{
|
||
// mainTabStrip.ShowTabHeader = false;
|
||
//}
|
||
|
||
btnUser.Text = this.CurrUser.UserName;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
private void InitMenuStyleButton()
|
||
{
|
||
string menuStyle = "tree";
|
||
|
||
HttpCookie menuStyleCookie = Request.Cookies["MenuStyle"];
|
||
if (menuStyleCookie != null)
|
||
{
|
||
menuStyle = menuStyleCookie.Value;
|
||
}
|
||
|
||
SetSelectedMenuItem(MenuStyle, menuStyle);
|
||
}
|
||
|
||
private void InitMenuDisplayModeButton()
|
||
{
|
||
string displayMode = "normal";
|
||
|
||
HttpCookie displayModeCookie = Request.Cookies["DisplayMode"];
|
||
if (displayModeCookie != null)
|
||
{
|
||
displayMode = displayModeCookie.Value;
|
||
}
|
||
|
||
SetSelectedMenuItem(MenuDisplayMode, displayMode);
|
||
}
|
||
|
||
private void InitMenuRegionButton()
|
||
{
|
||
string mainTabs = "multi";
|
||
|
||
HttpCookie mainTabsCookie = Request.Cookies["MainTabs"];
|
||
if (mainTabsCookie != null)
|
||
{
|
||
mainTabs = mainTabsCookie.Value;
|
||
}
|
||
|
||
SetSelectedMenuItem(MenuMainTabs, mainTabs);
|
||
}
|
||
|
||
private void SetSelectedMenuItem(MenuButton menuButton, string selectedDataTag)
|
||
{
|
||
foreach (MenuItem item in menuButton.Menu.Items)
|
||
{
|
||
MenuCheckBox checkBox = (item as MenuCheckBox);
|
||
if (checkBox != null)
|
||
{
|
||
checkBox.Checked = checkBox.AttributeDataTag == selectedDataTag;
|
||
}
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
}
|
||
}
|