2011-05-24 187 views
0

我无法在所有网页中找到重用以下代码的方法。如何重用此C#代码?

我该怎么办?

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#!

回答

4

只需创建一个所有其他页面继承的基本页面。把你的代码放在基本页面中。

所以public class CurrentPage : BasePage(继承)

然后

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

+1

对System.Web.UI.Page类的扩展方法将工作,以及添加此。 – 2011-05-24 19:43:54

+0

正是我们所做的。如果你喜欢,你可以在web.config中为你的新基页设置 n8wrl 2011-05-24 19:43:56

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> 
+0

我是新的使用C#..代码如何? – 2011-05-24 19:44:05