2015-08-13 2 views
0

У меня есть код, который проверяет определенные значения после нажатия кнопки сохранения. Пользователь вводит значение в текстовое поле, и если значение не выбрано из раскрывающегося списка, будет выбрано исключение. Текстовое поле имеет значение по умолчанию. Поэтому, если причина не выбрана, отобразите сообщение. Проблема заключается в том, какое значение было помещено в текстовое поле, все еще существует, но если я вручную обновляю страницу, то она возвращается к одному. Мне нужно обновить страницу после исключения, чтобы текстовое поле вернулось к значению по умолчанию.Как обновить страницу после исключения throw

JobPieceSerialNo SerNo = new JobPieceSerialNo(job.ID); 
if (SerNo.Reason == null) 
{ 
    throw new Exception("Must select reason"); 
    Response.Redirect("Job.aspx?JobID=" + Request.QueryString["JobID"], false); 
} 

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

+4

, возможно, вы не должны бросать исключения, но представления сообщения об ошибке проверки пользователя ? – Kritner

+0

@Kritner Я не знаю, почему, но только сообщение об исключении отобразит – user123456789

+0

, вы можете прочитать это, чтобы начать работу с валидаторами как для клиента, так и для сервера в asp.net https://msdn.microsoft.com/en-us/ библиотека/ms972961.aspx? е = 255 & MSPPError = -2147217396 – Kritner

ответ

1

Вы можете использовать либо попробовать поймать блок и поместить ответ в улове и ваш бросок в

if (SerNo.Reason == null) 
    { 
     try{ 
      throw new Exception("Must select reason"); 
     } 
     catch{ 
      Response.Redirect("Job.aspx?JobID=" + Request.QueryString["JobID"], false); 
     } 

    } 

или вы могли бы заменить throw new Exception("Must select reason"); для MessageBox.Show("Must select reason") затем оставить метод оттуда.

2

Если вы хотите, чтобы обновить страницу, а исключение происходит только поставить этот

catch 
{ 
    Response.Redirect(Request.RawUrl); 
} 

Я надеюсь, что это будет работать

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