Подтвердить что ты не робот

Как можно получить точку останова на странице_Load NOT?

У меня есть точка останова на странице Page_Load, которая никогда не попадает. Нет предупреждений или сообщений, указывающих, что точка останова никогда не пострадает, ее просто не ударяют, даже если страница загружена успешно.

После успешного входа в систему пользователь перенаправляется на эту страницу, используя свойство DestinationPageUrl элемента управления. Как упоминалось выше, я могу войти и перейти на эту страницу, так что, по крайней мере, эта часть работает.

Если я установил точку останова в событии Page_Load на странице входа (просто старое приложение веб-приложения ASP.NET для примера здесь), точка останова будет удалена. Я могу войти в код, но событие page_load никогда не попадает, и страница просто появляется. В этой последовательности я просматриваю события page_load для login.aspx и site.master, но не page_load, которые я действительно хочу видеть.

Любые предложения? Спасибо!

4b9b3361

Ответ 1

Несколько возможных ответов здесь:

Ответ 2

Чтобы выполнить выполнение Page_Load, должно выполняться одно из следующих условий:

  • У вас должен быть AutoEventWireup = "true" в директиве @Page на странице aspx.

  • Обработчик событий должен быть явно подключен, обычно в OnInit

UPDATE

Как указано в комментарии @bzlm, значение по умолчанию для AutoEventWireup "истинно", поэтому на самом деле оно будет выполнено также, если атрибут AutoEventWireup отсутствует в директиве страницы.

Старые версии Visual Studio (2003, конечно, и, возможно, 2005) использовали явно события подключения и рекомендуют устанавливать AutoEventWireup на false.

Из того, что я вижу, я больше не думаю, что это правда. Явный провод был выполнен с помощью строки:

this.Load += new System.EventHandler(this.Page_Load);

в методе InitializeComponent, который был сгенерирован конструктором и вызван из метода OnInit.

Ответ 3

если у вас есть AutoEventWireup = "false" в директиве <% @Page% > , метод Page_Load не будет прикреплен к событию Page.Load.

Ответ 4

У меня было такое поведение в веб-приложении VB.

После Protected Sub Page_Load(sender As Object, e As EventArgs) не было Handles. Я добавил Handles Me.Load и работал с AutoEventWireup="false".

Настройка AutoEventWireup="true" также работала, как указано выше.

Ответ 5

У меня была такая же проблема, но ни один из ответов здесь не помог мне. Я понимаю, что многие проблемы могут дать эту же проблему. Поэтому я даю свое решение, когда у других такая же проблема. Я знал, что могу установить AutoEventWireup в true. Я хотел знать, как заставить его работать, когда AutoEventWireup является ложным.. на С#. Я знал, что в VB я могу просто добавить предложение "Ручки".

Картинка стоит тысячи слов, и это пример кода, поэтому здесь мой фрагмент кода:

public partial class Login : System.Web.UI.Page
{
    protected override void OnInit(EventArgs e) // i added this method.
    {
        Load += new EventHandler(Page_Load);
        base.OnInit(e);
    }
    protected void Page_Load(object sender, EventArgs e)
    { // code for the Page Load event here
    }
}

Ответ 6

Хорошо, возможно, что VS может быть ошибкой в ​​то время (это случилось для меня), но я никогда не получаю это последовательно.

Вы упомянули о перенаправлении; если перенаправление происходит во время Page Init, событие Load никогда не будет вызываться, если запрос завершится. Это может быть одной из причин.

НТН.

Ответ 7

Возможно, что отладочные символы (*.pdb файлы) для этого конкретного события Page_Load не были созданы.

Попробуйте очистить свое решение и убедитесь, что вы находитесь в режиме отладки, а затем сделайте простое изменение в файле web.config(новая строка сделает), чтобы заставить ASP.NET перекомпилировать.

Ответ 8

Изменение VS от отладки до режима Release работало для меня.... Не знаю, почему это сработало, любой эксперт может предложить

Ответ 9

Решение довольно просто в моем случае. Проверьте Директиву по странице:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="WebApplication1_Delete.WebForm1" %>

Проблема с моим кодом отсутствовала в атрибутах codebehind и .