2010-04-15 4 views
0

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

protected void btnSubmitToCRM_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     if (!ValidateCoreValue()) 
     { 
      return; 
     } 

     if (!ValidateOtherAppLicenses()) 
     { 
      return; 
     } 

     GetTicketRequesterInfo(); 

     SendCRMEmail(); 

     ClearTextBoxes(Page.Controls); 

    } 
    catch (Exception ex) 
    { 
     ClientScript.RegisterStartupScript(GetType(), "alert", "alert('btnSubmitToCRM_Click - 1" + ex.Message + "');", true); 
    } 
} 

Любые идеи?

ответ

1

Итак, идея заключается в том, что кнопка отправки вызывает предупреждение javascript? Ну, вам нужно будет зарегистрировать скрипт клиента в другом событии, чем тот, который запускается при нажатии кнопки.

Подумайте о порядке событий здесь. К моменту входа в функцию btnSubmitToCRM_Click клиент уже отправил обратно сервер. Затем вы пытаетесь зарегистрировать событие на стороне клиента, чтобы вызвать предупреждение. Ну, в этот момент уже слишком поздно. Клиент уже нажал кнопку. Метод RegisterStartupScript вставляет Javascript на страницу, когда любое событие, в котором он вызван, запускается. Итак, обычно это должно произойти, когда страница загружается.

Я бы сказал, попробуйте бросить вызов RegisterStartupScript в событие загрузки страницы и посмотреть, поможет ли это.

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

+0

Я обновил свой код выше. Мое намерение - понять, почему «SendCRMEmail();» не вызывается. На данный момент я не знаю, выкидывается ли код в какой-то момент в кодовом блоке; – user279521

+0

Вы можете подключить отладчик и установить точку останова, чтобы узнать, вызвана ли функция. Из того, что я вижу выше, ваш код для предупреждения по-прежнему не работает, потому что вы регистрируете скрипт на стороне клиента для нажатия кнопки после того, как нажатие кнопки уже произошло. – Harv

+0

Проблема происходит на тестовом сервере. Все работает отлично на моем localhost; – user279521

Смежные вопросы