C# - 在Page_Load方法的所有页面中执行代码的简便方法

时间:2012-01-26 19:51:37

标签: c# web-applications

我正在寻找一种方法来添加一些代码,以便在我的Web应用程序的所有页面上的所有Page_Load事件中执行,而无需在所有页面中编写它。 代码必须在页面上的Page_Load方法之前执行。 感谢您的关注。

2 个答案:

答案 0 :(得分:7)

你可以创建一个Class让我们说BasePage.cs,在这里你将有一个虚拟方法Page_Load:

public class BasePage: System.Web.UI.Page
{
     protected virtual void Page_Load(object sender, EventArgs e)
     {
            //Some logic here that you want to execute for all pages
     }
}

然后,在要在PageLoad上执行此代码的每个页面中,使该页面继承自BasePage并覆盖PageLoad方法,如下所示:

文件somePage.aspx.cs中的

执行此操作:

public partial class somePage : BasePage  
{
     protected  override void Page_Load(object sender, EventArgs e)
     {
         base.Page_Load(sender, e); //This line will execute page load from BasePage class
         //The rest of code you want to execute on this page load
     }
}

答案 1 :(得分:0)

您可以创建母版页,将您希望代码执行的所有页面设置为母版页的“子元素”,然后将要执行的代码放在母版页的Page_Load事件中。< / p>

了解母版页的工作原理:http://msdn.microsoft.com/en-us/library/ie/wtxbf3hh.aspx