2012-02-15 2 views
1
  • У меня есть веб-форма, которая использует события на главной странице для ведения журнала.
  • У меня есть файл sitemap.aspx, который генерирует правильный XML для Google.
  • Файл sitemap.aspx вызывает Response.End(), чтобы гарантировать, что обычный материал ASP.NET (состояние представления, содержимое главной страницы и т. Д.) Не отображается. Этот XML должен быть точным.
  • Когда я вызываю Response.End() с страницы содержимого, ни одно из событий главной страницы не срабатывает.

Есть ли способ сказать CLR, чтобы отправить именно эту строку в качестве ответа, позволяя страницу Master продолжить нормальную работу, и без того, чтобы разъединить ASPX от Master страницы и вызовите методы ведения журнала вручную?Content Page Response.End while Continuing Master Page Execution

ответ

1

Нет готового способа сделать то, что вы просите.

Один из подходов может заключаться в том, чтобы установить флаг где-нибудь (возможно, в HttpContext.Items) после того, как вы напишете свою строку в выходной буфер. Затем в вашем классе страницы переопределите метод Render(); если флаг не установлен, то звоните base.Render(), в противном случае нет. Пропуская Render(), никакого дополнительного выхода не будет.