Обработчики событий могут не вызываться в документе по умолчанию в интегрированном режиме IIS 7 или IIS 7.5?

После того, как последние три дня я рвал на себе волосы в своем первом не обновленном веб-приложении ASP.NET 4.0, я наткнулся на этот пост, объясняющий все это.

http://jai-on-asp.blogspot.com/2010/06/changes-and-differences-between-aspnet.html в разделе с пометкой: Обработчики событий могут не вызываться в документе по умолчанию в интегрированных IIS 7 или IIS 7.5. Режим

Судя по всему, страница asp.net по этому адресу: http://www.mydomain.com/ не будет размещать обратно к себе без явного добавления action="default.aspx" в тег <form>.

Что происходит, когда вы используете мастер-страницу (где тег <form> — это местоположение при использовании мастер-страниц)?

Как заставить мои страницы default.aspx выполнять обратную передачу самим себе в .NET 4.0 с помощью главных страниц?


person RichC    schedule 12.01.2011    source источник


Ответы (1)


Независимо от того, указана ли форма на странице по умолчанию или на главной странице, она по-прежнему доступна через свойство формы на странице.

Следовательно, вы должны иметь возможность установить его действие в коде для этой страницы.

protected void Page_Load(object sender, System.EventArgs e)
{
    this.Form.Action = "Default.aspx";
}
person Will_HCS    schedule 26.03.2011
comment
Верно, и это было больше похоже на пуканье мозгов по вопросу примечания к мастер-странице. Более серьезной проблемой является просто несоответствие, о котором я должен помнить каждый раз, когда я использую страницу по умолчанию, на которой я явно установил действие, которое мне не нужно для любой другой страницы. Я не понимаю. Почему изменение? - person RichC; 28.03.2011