BreakPoint не работает в Init, InitComplete, событиях PreLoad на странице ASP.NET с C # в VS2008 - PullRequest
0 голосов
/ 01 марта 2011

BreakPoint не работает в событиях Init, InitComplate, PreLoad на странице ASP.NET с C # в VS2008.Но это работает для события Page_Load.

public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void InitializeComponent()
        {
            this.PreLoad += new System.EventHandler(this._Default_PreLoad);
            this.InitComplete += new System.EventHandler(this._Default_InitComplete);
            this.Init += new System.EventHandler(this._Default_Init);
            this.PreRender += new System.EventHandler(this._Default_PreRender);
            this.PreInit += new System.EventHandler(this._Default_PreInit);
            this.SaveStateComplete += new System.EventHandler(this._Default_SaveStateComplete);

        }

        protected void _Default_InitComplete(object sender, EventArgs e)
        {
              ........
        }

        protected void _Default_Init(object sender, EventArgs e)
        {
         .........
        }

        protected void _Default_PreLoad(object sender, EventArgs e)
        {
         ..........
        }
    }

Ответы [ 2 ]

3 голосов
/ 01 марта 2011

РЕДАКТИРОВАТЬ: переместить ваши обработчики, добавляя в OnInit вместо InitializeComponent метод:

  override protected void OnInit(EventArgs e)
  {
     // move your initializers here
  } 

Но на самом деле эти инициализаторы вам вообще не нужны, потому чтоэти обработчики могут быть автоматически подключены с помощью AutoEventWireUp=true, например:

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void Page_PreLoad(object sender, EventArgs e)
    {
     .........
    }

    protected void Page_InitComplete(object sender, EventArgs e)
    {
          ........
    }

    protected void Page_Init(object sender, EventArgs e)
    {
     .........
    }

    protected void Page_PreRender(object sender, EventArgs e)
    {
     .........
    }

    protected void Page_SaveStateComplete(object sender, EventArgs e)
    {
     .........
    }
}

EDIT II: Насколько я помню, InitializeComponent для VS 2003, .NET v1.1.Тогда InitializeComponent был местом, где IDE сериализовала конструкцию WebForm.Теперь этот метод никогда не вызывается из вашего кода, поэтому нет ожидаемых обработчиков событий (и предполагается, что они будут добавлены).Теперь есть 2 варианта добавления обработчиков: с AutoEventWireUp=true для общих событий Page и, например, с переопределенным методом OnInit.

1 голос
/ 01 марта 2011

Попробуйте, чтобы решить вашу проблему: некоторые точки останова работают, некоторые нет:

  • В меню «Отладка» выберите «Удалить все точки останова»
  • Сохраните решение и закройте Visual Studio
  • Откройте ваше решение и восстановите точки останова в ваших мероприятиях.

Это должно гарантировать, что ваши точки останова установлены и правильно выполнены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...