【问题标题】:How to reuse this C# code?如何重用这个 C# 代码?
【发布时间】:2011-05-25 03:51:11
【问题描述】:

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

我该怎么做?

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# 的新手!

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

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

    所以public class CurrentPage : BasePage(继承)

    然后

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

    【讨论】:

    • System.Web.UI.Page 类的扩展方法也可以。
    • 正是我们所做的。如果您愿意,您可以在 web.config 中为新的基本页面设置
    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-26
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      • 2022-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多