`

.net 继承 page 系统管理页的代码 分页 权限 集于一体

阅读更多

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.Data.SqlClient;
using System.Text;
namespace zj123.BLL
{
public enum ModelList
{
商业信息 = 0,
产品信息 = 1,
免费会员 = 2,
浙商通会员 = 3,
会员操作 = 4,
留言管理 = 5,
系统设置 = 6,
权限设置 = 7,
}
public class AdminPage : System.Web.UI.Page
{
private int _PageSize;
// private int _CurrentPage;
private string _Columns;
private string _TableName;
private string _Where;
private string _Order;
private string _Pid;
private DataTable _PageData;
private string _checkbox;
private string _U_Account;

private zj123.SQLDB.DbAccess _db;
public string[] MIDS = new string[]{"BE875758-3608-4B89-B3A2-1C30F0418E8A","C55FA608-29CC-4FB5-8A54-F0190BA3DEFC","A90D5DE5-530F-47F3-87D5-3D0D014019D5","FD024BF2-9690-46E1-A1B0-5A2046D9E4EA","3B8D9F44-1185-4BC2-A861-A116302A7024","4B124CD5-3064-4B8D-9977-BCC953018C56","414D177A-2DC6-4F2D-A788-E6C37C23DF79","01E6167F-BF36-4498-ABDB-0E8C2AEDD23F"};
/// <summary>
/// 页面大小
/// </summary>
public int PageSize
{

set
{
if (Regex.IsMatch(Convert.ToString(value), "^\\d+$"))
{
this._PageSize = Convert.ToInt32(value);
}
else
{
this._PageSize =1;
}
}
get
{
return this._PageSize;
}

}
/// <summary>
/// 当前页
/// </summary>
public int CurrentPage
{
get
{
return (Convert.ToInt32(Convert.ToInt32(Request["page"] ?? "1")));
}
}
/// <summary>
/// 显示的字段
/// </summary>
public string Columns
{
set
{
_Columns = value;
}
get
{
return _Columns;
}
}
/// <summary>
/// 表明
/// </summary>
public string TableName
{
set
{
_TableName = value;
}
get
{
return _TableName;
}
}
/// <summary>
/// 条件
/// </summary>
public string Where
{
set
{
_Where = value;
}
get
{
return _Where;
}
}
/// <summary>
/// 排序
/// </summary>
public string Order
{
set
{
_Order = value;
}
get
{
return _Order;
}
}
/// <summary>
/// 逐渐字段
/// </summary>
public string Pid
{
set
{
_Pid = value;
}
get
{
return _Pid;
}
}
/// <summary>
/// 分页数据
/// </summary>
public DataTable PageData
{

get
{
_PageData = this.Db.GetProcData(this.CurrentPage-1, PageSize, Columns, TableName, Pid, Where, Order, "");
return _PageData;

}
}
/// <summary>
/// 数据库链接类
/// </summary>
public DbAccess Db
{
get
{
if (_db ==null)
{
this._db = new DbAccess();
}

return _db;
}
}
/// <summary>
/// 多选框的模板
/// </summary>
public string CheckBoxString
{
get
{
if (_checkbox == null|| _checkbox.Length < 1)
{
return "<input type=\"checkbox\" name=\"action\" value=\"{0}\"/>";
}
else
{
return _checkbox;
}
}
set

{
this._checkbox = value;
}
}
/// <summary>
/// 用户名
/// </summary>
public string U_Account
{
get
{
try
{
_U_Account= Convert.ToString(HttpContext.Current.Request.Cookies["adminusers"]["name"] ?? "");
}
catch
{
_U_Account = "";

}
return _U_Account;

}

}
//****************************************************************************************************属性
public AdminPage()
{
if (!IsAdminLogin())
{
HttpContext.Current.Response.Redirect(HttpContext.Current.Request.Url.ToString().Replace(HttpContext.Current.Request.RawUrl.ToString(), "") + "/manage/index.aspx");
}
}
/// <summary>
/// 查看是否管理员是否登陆
/// </summary>
/// <returns></returns>
public bool IsAdminLogin()
{
bool state = false;
string username = "";
string userpass ="";
try
{
username = Convert.ToString(HttpContext.Current.Request.Cookies["adminusers"]["name"] ?? "");

userpass = Convert.ToString(HttpContext.Current.Request.Cookies["adminusers"]["pass"] ?? "");
}
catch
{

state = false;
}
if (username.Length < 1 || userpass.Length < 1)
{

}
else
{
state = true;
}
return state;
}
/// <summary>
/// 条件设置字符串
/// </summary>
public string GetWhereString(string whereName,string whereValue)
{
return string.Format(" and [{0}] like '%{1}%'", whereName, whereValue);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>
/// 获取参数值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public string GetRequest(string key)
{
return Convert.ToString(Request[key]??"").Replace("'","''");
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
//////----------------------------------------方法的集合--------------------------------------------------------------
////////数据绑定方法
/// <summary>
/// 绑定列表框
/// </summary>
/// <param name="ddl"></param>
/// <param name="dt"></param>
/// <param name="text"></param>
/// <param name="value"></param>
public void BindDropDownList(ref DropDownList ddl,DataTable dt,string text,string value)
{
ddl.DataSource = dt;
ddl.DataTextField = text;
ddl.DataValueField = value;
ddl.DataBind();
}
/// <summary>
/// 绑定列表框
/// </summary>
/// <param name="ddl"></param>
/// <param name="dt"></param>
/// <param name="text"></param>
/// <param name="value"></param>
public void BindListBox(ref ListBox ddl, DataTable dt, string text, string value)
{
ddl.DataSource = dt;
ddl.DataTextField = text;
ddl.DataValueField = value;
ddl.DataBind();
}
///////////////////// ////////数据绑定方法------------------------------------------------------------------
/// <summary>
/// /获取选中的多选框
/// </summary>
/// <returns></returns>
public string[] GetCheckValues()
{
string ids = Convert.ToString(Request["action"] ?? "");
if (ids.Length > 0)
{
string[] id = ids.Trim(',').Split(',');
return id;
}
else
{
return new string[] { "-100" };
}
}
/// <summary>
///
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public ArrayList GetSqls(string sql)
{
string[] ids = this.GetCheckValues();
ArrayList al = new ArrayList();
for (int i = 0; i < ids.Length; i++)
{
al.Add(string.Format(sql, (ids[i].Replace("'", "''"))));
}
return al;
}
//////////////-----------------------------消息类-----------------------------------------------------------
/// <summary>
/// 弹出错误的信息
/// </summary>
/// <param name="err"></param>
public void ShowError(string err)
{
System.Web.HttpContext.Current.Response.Write(Script(err, ""));
}
/// <summary>
/// 显示信息
/// </summary>
/// <param name="err"></param>
public void ShowMessage(string mes, string loc)
{
System.Web.HttpContext.Current.Response.Write(Script(mes, loc));
}
/// <summary>
/// javascript脚本
/// </summary>
/// <param name="mess"></param>
/// <param name="loc"></param>
/// <returns></returns>
public string Script(string mess, string loc)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append("alert('");
sb.Append(mess);
sb.Append("');");
sb.Append(loc);
sb.Append("</script>");
return sb.ToString();

}
public virtual RightClass Power(string U_Account,string M_ID)
{
//select [right_Insert],[right_Delete],[right_Update],[right_Select],[right_Verify],[right_Other],[right_Other1] from User_right where U_Account=@U_Account and M_ID=@M_ID
RightClass rc = new RightClass();
if (U_Account == "administrator")
{
rc.right_Insert = true;
rc.right_Delete = true;
rc.right_Update = true;
rc.right_Select = true;
rc.right_Verify = true;
rc.right_Other = true;
rc.right_Other1 = true;
}
else
{
#region 权限设定
SqlParameter[] pas = { new SqlParameter("@U_Account", U_Account), new SqlParameter("@M_ID", M_ID) };
DataTable dt = this.Db.GetTable("select isnull([right_Insert],0) right_Insert,isnull([right_Delete],0) right_Delete,isnull([right_Update],0) right_Update,isnull([right_Select],0) right_Select,isnull([right_Verify],0) right_Verify,isnull([right_Other],0) right_Other,isnull([right_Other1],0) right_Other1 from User_right where U_Account=@U_Account and M_ID=@M_ID", pas);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
DataRow dr = dt.Rows[0];
rc.right_Insert = Convert.ToBoolean(dr["right_Insert"] ?? false);
rc.right_Delete = Convert.ToBoolean(dr["right_Delete"] ?? false);
rc.right_Update = Convert.ToBoolean(dr["right_Update"] ?? false);
rc.right_Select = Convert.ToBoolean(dr["right_Select"] ?? false);
rc.right_Verify = Convert.ToBoolean(dr["right_Verify"] ?? false);
rc.right_Other = Convert.ToBoolean(dr["right_Other"] ?? false);
rc.right_Other1 = Convert.ToBoolean(dr["right_Other1"] ?? false);
}
else
{
rc.right_Insert = Convert.ToBoolean(false);
rc.right_Delete = Convert.ToBoolean(false);
rc.right_Update = Convert.ToBoolean(false);
rc.right_Select = Convert.ToBoolean(false);
rc.right_Verify = Convert.ToBoolean(false);
rc.right_Other = Convert.ToBoolean(false);
rc.right_Other1 = Convert.ToBoolean(false);
}
}
else
{
rc.right_Insert = Convert.ToBoolean(false);
rc.right_Delete = Convert.ToBoolean(false);
rc.right_Update = Convert.ToBoolean(false);
rc.right_Select = Convert.ToBoolean(false);
rc.right_Verify = Convert.ToBoolean(false);
rc.right_Other = Convert.ToBoolean(false);
rc.right_Other1 = Convert.ToBoolean(false);
}
if (!rc.right_Select)
{
Response.Write("<font color='red'>你对此栏目没有权限!!请联系管理员</font>");
Response.End();
}
#endregion
}


return rc;

}

//////////////-----------------------------消息类-----------------------------------------------------------

}
/// <summary>
/// 权限类
/// </summary>
public class RightClass
{
private bool _right_Insert;
private bool _right_Delete;
private bool _right_Update;
private bool _right_Select;
private bool _right_Verify;
private bool _right_Other;
private bool _right_Other1;
public bool right_Insert { set { this._right_Insert = value; } get { return this._right_Insert; } }
public bool right_Delete { set { this._right_Delete = value; } get { return this._right_Delete; } }
public bool right_Update { set { this._right_Update = value; } get { return this._right_Update; } }
public bool right_Select { set { this._right_Select = value; } get { return this._right_Select; } }
public bool right_Verify { set { this._right_Verify = value; } get { return this._right_Verify; } }
public bool right_Other { set { this._right_Other = value; } get { return this._right_Other; } }
public bool right_Other1 { set { this._right_Other1 = value; } get { return this._right_Other1; } }
}
}

分享到:
评论

相关推荐

    .net mvc3.0分页(包含AJAX分页)

    自己写的MVC3.0分页代码。自己可以在我源代码上修改。包含AJAX分页。启用AJAX分页的话请查看我源代码的实例。 具体逻辑请查看我的源代码。很简单的。我相信一般人都能看懂。 分页代码由 Models 里的 INetMvc3Page....

    .net 分页小插件

    该.net 下的分页小插件需要四个参数:分别为 (1)总记录数(从数据库读取数据后,会返回查询条件的总记录数, 把该总记录数传进去就好)。 (2)每页显示几条数据(跟数据库分页大小必须一样) (3)当前第几页 ...

    asp.net分页代码 简单好用的分页,使用QueryString方式分页

    asp.net分页代码 简单好用的分页,使用QueryString方式分页 非常简单,拖个SQLDATASOURCE就能实现分页,轻松几分钟就可以了, /********************** 利用SQLDATASOURCE数据源,在其SELECTED事件中添加以下代码。...

    基于asp.NET的小区物业管理系统文档.doc

    这样要求小区管理者对物业管理进行宏观的和微观的细致管理,其中最好的办法是用计算机操作的小区物业管理系统来实现对小区物业的管理,伴随着小区的的规模不断扩大和住户的不断增多,像小区中的汽车,小区附带设施,...

    九头鸭.net分页控件DataPage.rar

    九头鸭.net分页控件DataPage的主要功能: 1、支持通过Url进行分页: DataPage除提供默认的类似于DataGrid和GridView的PostBack分页方式外,还支持通过Url进行分页,象大多数asp程序中分页一样, Url分页方式允许...

    asp.net MasterPage模板页技术详解

    asp.net masterpage 模板页

    ASP.Net异步页面的经典示例代码

    这个代码是关于asp.net做异步处理的。没有用ajax,而是用了一些类。 程序中有三个页面,也即三个示例: 示例1.演示异步获取一个网址的内容,处理后显示在OutPut这一Label上 示例2:演示如何异步从数据库查询数据,并...

    ASP.NET的网页代码模型及生命周期

    代码隐藏页模型与单文件页模型不同的是,代码隐藏页模型将事物处理代码都存放在cs文件中,当ASP.NET网页运行的时候,ASP.NET类生成时会先处理cs文件中的代码,再处理.aspx页面中的代码。这种过程被成为代码分离。 ...

    Asp.net内容字符分页(实现内容分页)

    Asp net内容字符分页(实现内容分页) 用的是 net写的公用方法 可以参照修改为java代码: &lt;summary&gt; xuzb 内容页面分页公用方法调用 &lt; summary&gt; &lt;param name &quot;PageName&quot;&gt;&lt; param...

    [源代码] 《ASP.NET夜话》 随书源代码

    《ASP.NET夜话》 周金桥 著 随书源代码 ☆ 章节清单:☆ 第02章 — ASP.NET基础 第03章 — 表单和控件 第05章 — Page类和回调技术 第06章 — ASP.NET基本控件 第07章 — ADO.NET介绍 第08章 — 数据绑定控件 第09...

    asp.net网站项目(健康网站及其管理系统)

    MasterPage:母版页模块; Others:验证码生成文件以及用户自定义控件 项目采用的三层架构设计模式,将表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)很好的显示的表现出来,方便了开发人员的修改以及维护...

    asp.net猎头管理系统源码

    功能介绍: 该系统为猎头日常工作所使用系统,包括一般猎头软件所有功能,主要模块有:简历...3.系统角色权限管理采用重写page类的oninit方法,给每个页面以及每个功能赋予id,使得角色权限控制更简单明确,容易管理。

    ASP.NET经典案例源码之学生管理系统(vs2005)

    ASP.NET(c#)经典案例源码之学生管理系统(vs2005)

    ASP.NET3.5典型模块开发源代码

    13.2.2 将代码应用于项目中 152 13.3 多用户在线客服范例 153 13.3.1 设计用户QQ列表数据库 153 13.3.2 设计客服人员的增删功能 154 13.3.3 实现多用户在线客服模块 158 13.4 小结 159 第14章 网页搜索...

    九头鸭.net分页控件 v1.1.rar

    DataPage除提供默认的类似于DataGrid和GridView的PostBack分页方式外,还支持通过Url进行分页,象大多数asp程序中分页一样, Url分页方式允许用户通过在浏览器地址栏中输入相应的地址即可直接进入指定页面,也可以使...

    ASP.NET PAGE对象使用

    ASP.NET PAGE对象使用了解ASP.NET 页的结构 掌握Page对象的各种事件和属性 理解_ViewState 对象 理解代码隐藏的概念

    asp.net知识库

    Coalesys PanelBar + R.a.d Treeview +Xml 构建的Asp.net 菜单和权限管理模块 突破屏蔽限制,自己的网站使劲弹新IE窗口 对页面SCROLLING的CSS不能生效原因 .Net 中IE使用WinForm控件的使用心得。 动态加载用户控件的...

    SQL ASP.NET高性能分页

    2、页的大小我们放在@PageSize中 3、当前页号我们放在@CurrentPage中 4、如何让记录指针快速滚动到我们要取的数据开头的那一行呢,这是关键所在!有了Set RowCount,我们就很容易实现了。 5、如果我们成功地滚动...

    Asp.Net无刷新分页( jquery.pagination.js)

    采用Jquery无刷新分页插件jquery.pagination.js 实现无刷新分页效果 页面内容: &lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%&gt; &lt;!DOCTYPE ...

Global site tag (gtag.js) - Google Analytics