在主页面上(页面1),左边是一个树形结构,每个节点具有不同的id,点击后,把id通过request传递至接收页面(页面2)。在接收页面上获取该id,根据id和登陆者id查找对应表。获取该人对该页面的操作权限。  
 
如果页面2需要跳转的话,在页面2上的链接和按钮以及datagrid的链接都需要传递该参数id。如果把该参数id放到session,因为很多不同的id具有不同的值,容易出现session错误。请指教

解决方案 »

  1.   

    好麻烦 ,我们都是放在一个session 中。 帮你顶
      

  2.   

    看来没辙了,我现在在页面2
    string temp=Request.QueryString["pageId"].ToString()
    然后挨个链接加temp了
      

  3.   

    我建议你如此这般:     1、把 pageId 存放在一个公共类里面,使用常量或枚举
    public class PublicClass

       public const int AddUser=1;
       public const int DeleteUser=3;
       public  enum PageID
       {
    AddUser= 1,
    DeleteUser= 3
       }
    }
    在页面中的访问:
    private void Page_Load(object sender, System.EventArgs e)
    {
       if(!IsPostBack)
       {
    this.ValidUserWarrant((string)Session["UserId"],PublicClass.AddUser);
    //或者是
    //this.ValidUserWarrant((string)Session["UserId"],(int)PublicClass.PageID.AddUser);
       }
    }     2、不同页面可以有相同的 pageId ,即把它看成一个功能:
    比如由 WebForm2.aspx 链接跳转到 WebForm3.aspx 同时继承 WebForm2.aspx 的功能
    那么在 WebForm3.aspx 中的 Page_Load 就可以使用与 WebForm2.aspx 一样的 pageId 验证