2016-11-21 2 views
-2

Я хочу использовать вывод сообщения об ошибке на страницу (используя Response.Write) в зависимости от необязательного параметра Request.Использование запроса на ответ. Запишите сообщение об ошибке

string errorMessage = ""; 

    if (!string.IsNullOrEmpty(errorMessage)) 
    { 
     errorMessage = Request["msg"].Trim(); 
    } 

    switch (errorMessage) 
    { 
     case "error": 
      Response.Write(@"We apologise for the delay, this is due to a site issue. We expect this to be resolved shortly. Please <a href=""/"">try again</a> in a few minutes."); 
      break; 
     case "288": 
      Response.Write("We will be back soon!"); 
      break; 
     default: 
      Response.Write("We are working on it..."); 
      break; 
    } 

Я не получаю исключение, а переключатель по умолчанию работает, он печатает: «Мы работаем над этим ...» на странице, но не меняется в зависимости от параметра «MSG », - говорится в заявлении.

+0

Если применить отладчик к этой части вашего кода, я уверен, что вы будете выяснить, что вопрос –

+0

Ваш Условный оператор всегда будет возвращать 'false' так что вы никогда не читали из запроса –

+0

Если я вытащил оператор If, он работает, если я передал URL-адрес. Как я могу заставить его перейти к умолчанию, если ничего не передано? – cmp

ответ

0

Ваш if -статье всегда будет возвращать false, чтобы вы никогда не читали с Request.

Если вы хотите, чтобы проверить, был ли принят параметр с именем «ключ», вы можете проверить Request["msg"] вместо errorMessage, потому что MSDN говорит:

Если указанный ключ не найден, то нуль возвращается.

string errorMessage = ""; 

if (!string.IsNullOrEmpty(Request["msg"])) // 
{ 
    errorMessage = Request["msg"].Trim(); 
} 

switch (errorMessage) 
{ 
    /*...*/ 
} 
+0

Очень полезно @stephan. Спасибо за помощь. – cmp

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