📄 groupadmin.ascx.cs
字号:
namespace Seaskyer.WebApp.skyNews.Pages.AdminMSC
{
using System;
using System.Collections;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Seaskyer.FSO;
using Seaskyer.Strings;
using Seaskyer.WebApp.Utility;
/// <summary>
/// GroupAdmin : 管理组。
/// </summary>
public class GroupAdmin : basePage
{
protected Panel Panel1, Panel2;
protected DataGrid DataGrid1;
protected Button Submit, Delete;
protected HtmlInputButton Back;
private void Page_Load(object sender, System.EventArgs e)
{
this.initPage();
string Action = Request.QueryString["Action"];
switch( Action )
{
case "ViewPower" :
this.BindPower();
break;
case "ManagePower" :
this.BindPower();
break;
default :
this.BindGroup();
break;
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
void initPage()
{
Panel1.Visible = false;
Panel2.Visible = false;
Submit.Visible = false;
Delete.Visible = false;
Back.Visible = false;
}
#region 响应授权事件
protected void Submit_OnClick(object sender, EventArgs e)
{
string groupid = Request.QueryString["groupid"];
Hashtable ht = new Hashtable();
foreach(string Name in Request.Form.Keys)
{
if( Name.IndexOf("power0") > 0 )
{
//Response.Write(Name + "<Br>");
string[] array = Function.SplitArray(Name, ':');
// 权限定义对象字符串
string powerString = array[array.Length - 1];
//bool cdata = false;
//if( powerString.StartsWith("_") ) cdata = true;
string[] paramArray = Function.SplitArray(powerString, '0');
string paramValue = Request.Form[Name];
string paramName = paramArray[2];
//if( !cdata )
//{
// paramName = "@" + paramName;
//}
//Response.Write("Path:" + paramArray[1] + ", Action:" + paramArray[2] + ", Value:" + Name + "<br>");
string Path = paramArray[1].Replace("_", "/") + ".ascx";
string Action = paramName + ":" + paramValue;
//if( !dt.Columns.Contains(paramArray[2]) ) dt.Columns.Add(paramArray[2]);
if( !ht.Contains(Path) )
{
ht.Add(Path, Action);
}
else
{
ht[Path] += "§" + Action;
}
}
}
DataTable dt = new DataTable();
DataRow dr;
foreach(string Name in ht.Keys)
{
dr = dt.NewRow();
if( !dt.Columns.Contains("@Path") ) dt.Columns.Add("@Path");
dr["@Path"] = Name;
//Response.Write("Name: " + Name + ", Value: " + ht[Name] + "<br>");
string[] array = Function.SplitArray(ht[Name].ToString(), '§');
for( int i = 0; i < array.Length; i++ )
{
string[] param = Function.SplitArray(array[i], ':');
if( !dt.Columns.Contains(param[0]) ) dt.Columns.Add(param[0]);
dr[param[0]] = param[1];
}
dt.Rows.Add(dr);
}
// user.userPowerFilePath = Function.GetRealPath(user.GetPathValue("PowerInfos")) + Request.QueryString["groupid"] + ".xml";
//
//
// try
// {
// user.CreatePowerXml(dt);
// }
// catch{}
// 将数据序列化之后存入数据库中
byte[] buffer = FormatterHelper.Serialize(dt);
dp.CommandText = "UPDATE [UserGroup] SET GroupPower = @GroupPower WHERE GroupID = @GroupID";
dp.Parameter.Add("GroupPower", new Seaskyer.AdoProvider.DataBuilder(buffer, SqlDbType.Image));
dp.Parameter.Add("GroupID", groupid);
if( dp.NonQuerySQL() == 1 )
{
user.MessageShow("为授权组 “" + Request.QueryString["groupname"] + "” 成功!", Page);
}
else
{
}
}
#endregion
#region 响应删除事件
protected void Delete_OnClick(object sender, EventArgs e)
{
if( Object.Equals(Request.Form["chk"], null) || Object.Equals(Request.Form["chk"], "") )
{
Response.Write("<script>alert('请选择您要删除的组(可多选)。');history.back();</" + "script>");
Response.End();
}
string[] idArray = Function.SplitArray(Request.Form["chk"], ',');
for( int i = 0; i < idArray.Length; i++ )
{
//user.deleteGroupInfo(idArray[i]);
}
this.BindGroup();
}
#endregion
#region 初始化DataGrid中子控件的属性
protected void DataGrid1_ItemCreated(object sender, DataGridItemEventArgs e)
{
if(e.Item.ItemIndex >= 0)
{
e.Item.Attributes.Add("onmouseover","this.className='tdbg-dark';");
e.Item.Attributes.Add("onmouseout","this.className='tdbg';");
}
switch(e.Item.ItemType)
{
case ListItemType.Item :
case ListItemType.AlternatingItem :
case ListItemType.EditItem :
break;
}
}
#endregion
#region 数据绑定
void BindGroup()
{
Panel1.Visible = true;
Delete.Visible = true;
dp.CommandText = "SELECT * FROM [UserGroup] ORDER BY GroupID ASC";
DataTable dt = dp.DataTableSQL();
DataGrid1.DataSource = dt.DefaultView;
DataGrid1.DataBind();
dt.Dispose();
}
void BindPower()
{
Panel2.Visible = true;
Submit.Visible = true;
Back.Visible = true;
Back.Attributes.Add("onclick", "location.href='/skyNews/Admin/GroupAdmin.aspx';");
#region 从权限模板中加载权限选项
#endregion
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -