如何重用这个C#代码?

时间:2011-05-24 19:41:11

标签: c# asp.net

我找不到在我的所有网页中重复使用以下代码的方法。

我该怎么做?

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {

        if (Page.Request.UrlReferrer == null)
        {
            Response.Redirect("test.aspx");
        }
    }
}

我想使用这样的东西:

protected void Page_Load(object sender, EventArgs e)
{
    CheckURL();
}

请给我举个例子! :)我是新用的C#!

2 个答案:

答案 0 :(得分:4)

只需创建一个所有其他页面都可以继承的基页。将您的代码放在基页中。

所以public class CurrentPage : BasePage(继承)

然后

public abstract class BasePage : System.Web.Ui.Page

答案 1 :(得分:2)

您可以创建一个继承自System.Web.UI.Page的新类,并在此处添加此逻辑,然后将新类用于所有页面。

编辑:

类似这样的事情

    public class MyPage : System.Web.UI.Page
    {
        public MyPage()
        {
            Load += MyPage_Load;
        }

        void MyPage_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                if (Page.Request.UrlReferrer == null)
                {
                    Response.Redirect("test.aspx");
                }
            }
        }
    }

并在web.config

中添加
<system.web>
    <!-- ... -->
    <pages pageBaseType="MyNamespace.MyPage" />
    <!-- ... -->
</system.web>