config.cs文件代码如下基本代码:
namespace Sutra
{
public class Config :Page 
         {
public void Limit(Page page)
{
HttpCookie ck=page.Request.Cookies["Sutra"];
if (ck==null)
{
page.Response.Redirect("Limit.aspx");
}
if (ck.Values["limit_code"].IndexOf('A')==-1)
{
page.Response.Redirect("Limit.aspx");
}
} public void Limit(string Page_Limit,Page page)
{
HttpCookie ck=page.Request.Cookies["Sutra"];
if (ck==null)
{
page.Response.Redirect("Limit.aspx");
}
bool flag=false; // 代表不可见
string[] arr=ck.Values["limit_code"].Split(',');
for (int i=0;i<arr.Length;i++)
{
if ("A"!=arr[i])
{
if (Page_Limit.IndexOf(arr[i])!=-1)  // 有该权限
{
flag=true;
break;
}
}
else // 是高级管理员
{
flag=true;
break;
}
} if (flag==false)
{
page.Response.Redirect("Limit.aspx");
}
}
public void Limit(Button[] Ctrls,string Page_Limit,Page page)
{
HttpCookie ck=page.Request.Cookies["Sutra"];
if (ck==null)
{
page.Response.Redirect("Limit.aspx");
}
bool flag=false; // 代表不可见
string[] arr=ck.Values["limit_code"].Split(',');
for (int i=0;i<arr.Length;i++)
{
if ("A"!=arr[i])
{
if (Page_Limit.IndexOf(arr[i])!=-1)  // 有该权限
{
flag=true;
break;
}
}
else // 是高级管理员
{
flag=true;
break;
}
} if (flag==false)
{
for (int i=0;i<Ctrls.Length;i++)
{
Ctrls[i].Enabled=false;
}
} }
            }
}另一个admin_Message.aspx文件
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace Sutra
{
/// <summary>
/// admin_Message 的摘要说明。
/// </summary>
public class admin_Message : System.Web.UI.Page
{
protected System.Web.UI.WebControls.CheckBox cb_SelectCancel;
protected System.Web.UI.WebControls.Button btn_Del;
protected System.Web.UI.WebControls.Button btn_Add;
protected System.Web.UI.WebControls.Repeater rpt;
protected WFNetCtrl.AspNetPager AspNetPager1;
protected System.Web.UI.WebControls.Image img_Top;
protected System.Web.UI.WebControls.Button btn_Print1;
protected Config conn=new Config();

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!Page.IsPostBack)
{
// ===控制权限(录入信息权:B)===
conn.Limit("B",Page); // 权限控制 Init_Prop(); // 初始化属性
Init_Data(); // 初始化数据

}
}
       }
}问题:一、希望可以帮我详细的解释一下上面的代码。
   二、protected Config conn=new Config(); 这一句是什么意思
   三、if (!Page.IsPostBack)        这一句是什么意思
      四、conn.Limit("B",Page); // 权限控制  这一句是什么意思
   
五、config.cs文件问题
public void Limit(Page page)
public void Limit(string Page_Limit,Page page)
public void Limit(Button[] Ctrls,string Page_Limit,Page page)
为什么可以多重定义linmit类?  以上的各个意思是什么?
本人还在未入门,希望可以得到比较详细的解释,以帮助像我们这样的菜鸟们。

解决方案 »

  1.   

    能回答一点:
    三、当Web页上在控件,且近控件在本页咯响应时,就会产生Page.IsPostBack,从字面意思可知。比如在页面上加入了<asp:button id="myButton" runat="server" Text="myButton" onClick="myButton_Click" />myButton_Click(object sender,EventArgs e){}
    是点击按钮的响应函数,要自己写五、多个Limit()函数参数不同是函数重载,实际是不同的函数,通过传递不同的实参调用不同的重载函数,只有当实际参数与其中一个重载函数形式参数类型和数量完全相同时才能调用。