Asp.Net Button Click не запускается на удаленном сервере

У меня есть UserControl с несколькими полями (адрес, пригород и т. д.) и SubmitButton, после нажатия кнопки «Отправить» сообщение отправляется на сервер, и я сохраняю данные, введенные в сеанс, чтобы сохранить их в базе данных на более позднем этапе. .

Все отлично работает на моей локальной машине, а также на машинах членов моей команды. Однако после развертывания на сервере кнопка Click не работает. Когда я нажимаю кнопку, она отправляет обратно (перезагружает страницу), но никогда не попадает в мой обработчик событий.

У меня было мало проверок на странице. Я пробовал удалить их все и все равно не помогло. Я подозревал настройки сервера, поэтому я развернул его на другом сервере (GoDaddy и CrazyDomains), и возникла та же проблема.

Чтобы сделать это более сложным, в нескольких случаях он отлично работает на сервере. Я использую .NET 4.0 и VS 2010.

Любая помощь будет высоко ценится. Спасибо

<div class="clear" style="padding-top: 20px;">
  <asp:Button runat="server" 
              ID="SubmitButton" 
              OnClick="SubmitButtonClick" 
              Text="View Plans" 
              Width="150px" 
              CssClass="NextButton CompareButton"/>
</div>

Обработчик событий

protected void SubmitButtonClick(object sender, EventArgs e)
{
  // doing my form data saving here 
  // not hitting this point
  Response.Redirect("http://google.com");
}

person Has AlTaiar    schedule 11.09.2012    source источник
comment
взгляните на этот вопрос: событие щелчка не срабатывает в рамках управления использованием в asp net"> stackoverflow.com/questions/7495486/   -  person    schedule 11.09.2012
comment
пробовал это раньше, и это, кажется, не имеет никакого значения. Я вижу, что пользовательские элементы управления загружены, и даже когда я делаю то, что сказано в этом посте, все равно это не имеет никакого значения.   -  person Has AlTaiar    schedule 11.09.2012
comment
Все элементы управления имеют идентификатор (включая UserControl)?   -  person Alessandro    schedule 11.09.2012
comment
Спасибо за комментарии, ребята. Да, для всех элементов управления указан идентификатор, включая UserControl, и я попытался переместить все на страницу вместо UserControl, и событие Click подключается   -  person Has AlTaiar    schedule 13.09.2012


Ответы (1)


Я обнаружил, что проблема в том, что мы забыли отключить тег трассировки в Web.Config.

 <trace enabled="true" requestLimit="40" localOnly="false" Output="false" />

Итак, хотя он работал локально (потому что был в режиме отладки), он не работал на сервере.

Другая проблема заключалась в том, что, поскольку мы использовали эти страницы в iFrames, нам нужно было избегать

 Response.Redirect()

И необходимо добавить политику конфиденциальности на страницы, чтобы веб-браузеры могли доверять им, например:

 response.addHeader("P3P","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"")

Надеюсь, это может помочь кому-то еще

person Has AlTaiar    schedule 04.10.2012