其中4和5是不同的客户,要跳转到A.aspx和B.aspx,代码怎么写呢? protected void Page_Load(object sender, EventArgs e) { if (Session["userType"] != null) { // Response.Write(Session["userType"].ToString()); if (Session["userType"].ToString().Trim()=="0") { //PanelAdmin.Visible = false; } if (Session["userType"].ToString().Trim() == "1") { PanelSuper.Visible = false; } if (Session["userType"].ToString().Trim() == "2" || Session["userType"].ToString().Trim() == "3" || Session["userType"].ToString().Trim() == "4" || Session["userType"].ToString().Trim() == "5") { PanelSuper.Visible = false; PanelAdmin.Visible = false; }
没看明白PanelSuper和PanelSuper都是用来干什么的。不过你要根据4和5跳转到不同的页面,你可以判断一下,if(Session["userType"].ToString().Trim() == "4")
{
Response.Redirect("a.aspx"); |
}
else if(Session["userType"].ToString().Trim() == "5")
{
Response.Redirect("b.aspx"); |
}
还是不行呢 PanelSuper和PanelSuper是控件来的 不同的用户登陆后隐藏 PanelAdmin.Visible = false;
@lqps: 你调试一下呗。看它有没有执行到Response.Redirect这一句。
你可以调试一下,看看这个里面的值:Session["userType"].ToString().Trim()。也可以用:Session["userType"].ToString().Trim().Equals("5")
个人习惯,如果是复杂的权限-页面设计,最好使用数据库或者xml等灵活的持久化方式来定义用户组和页面的映射,然后用户登录的重新定向或引导逻辑最好是用IHttpModel来实现。如果是很简单的应用没那么些灵活性的需求,那前面@LCM的方法就能解决了。通常这样的实现都会用一个单独的页面来中跳转页,避免在每个相关页面都附加类似的权限检查代码。或者定义一个公共的页面基类,BasePage这样的玩意儿