aspx:
先创建基类
public partial class Test : System.Web.UI.Page
{
//这里实现load或者 OnPreInit 区别不大
protected override void OnPreInit(EventArgs e)
{
//这里进行判断
if (Session["admin"] == null)
{
this.Response.Redirect("login.aspx");
return;
}
base.OnPreInit(e);
}
}
继承基类(需要判断登录的页面,统一继承Test)
public partial class _default : Test
{
private void Page_Load(object sender, EventArgs e)
{
}
}
MVC:
方法一:
public class BaseWebController : BaseController
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
if ((CurrentUser == null || CurrentUser.id == 0))
{
filterContext.HttpContext.Response.Redirect("/Login/Login");
}
base.OnActionExecuting(filterContext);
}
}
页面继承
public class MyProjectController : BaseWebController
{
MyProjectDAL mp = new MyProjectDAL();
//
// GET: /MyProject/
public ActionResult Index(int parentId=0)
{
var q = mp.GetProject(CurrentUser, parentId);
return View();
}
}
方法二:
1 /// <summary>
2 /// 参数过滤器
3 /// </summary>
4 public class ParamFilter : ActionFilterAttribute
5 {
6 /// <summary>
7 /// 执行Action之前操作
8 /// </summary>
9 /// <param name="filterContext"></param>
10 public override void OnActionExecuting(ActionExecutingContext filterContext)
11 {
12 ///处理Action之前操作内容根据我们提供的规则来定义这部分内容
13 base.OnActionExecuting(filterContext);
14 }
15
16 /// <summary>
17 /// 执行Action之后操作
18 /// </summary>
19 /// <param name="filterContext"></param>
20 public override void OnActionExecuted(ActionExecutedContext filterContext)
21 {
22 base.OnActionExecuted(filterContext);
23 }
24 }
/// <summary>
2 /// 参数过滤器
3 /// </summary>
4 public class ParamFilter : ActionFilterAttribute
5 {
6 /// <summary>
7 /// 执行Action之前操作
8 /// </summary>
9 /// <param name="filterContext"></param>
10 public override void OnActionExecuting(ActionExecutingContext filterContext)
11 {
//跳转方式
//filterContext.Result=new RedirectResult("/User/Login");
12 ///处理Action之前操作内容根据我们提供的规则来定义这部分内容
13 base.OnActionExecuting(filterContext);
14 }
15
16 /// <summary>
17 /// 执行Action之后操作
18 /// </summary>
19 /// <param name="filterContext"></param>
20 public override void OnActionExecuted(ActionExecutedContext filterContext)
21 {
22 base.OnActionExecuted(filterContext);
23 }
24 }
[ParamFilter]
public ActionResult Index(string a=null)
{
return Content("试试看1"+(a??""));
}