在类构造函数之前执行属性

时间:2014-06-04 13:09:33

标签: c# asp.net

我在ASP.Net中验证页面用户时遇到问题我的计划是每页使用属性但是它接缝在类属性之前首先调用类的构造函数。有没有办法使用Attribute?

来做到这一点

我试过这样的事情

public class BaseAuthenticate : Attribute
{
    public BaseAuthenticate(string pageID)
    {
        // condition if current user is allowed in pageID, 
        // throws exception if not allowed
    }
}

[BaseAuthenticate("03902020-BC73-4DC0-A000-D4E20409FA2C")]
public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // will not reach here if not validated in BaseAuthenticate
    }
}

任何帮助将不胜感激。

TIA

1 个答案:

答案 0 :(得分:0)

更改构造函数,使其调用超级构造函数 -

 public BaseAuthenticate(string pageID) : base() {
       //blah blah blah
       // Egyptian braces >>>
 }

那应该执行基础构造函数。显然,无论超类需要什么作为参数都必须放在base()