2016-11-21 27 views
-2

Requestというオプションのパラメータに応じて、エラーメッセージを出力します(Response.Writeを使用)。Request to Response.Writeエラーメッセージを使用する

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

であるかを把握うと確信しています私がURLを渡してしまえば、Ifステートメントを取り除くと動作します。何も渡されなければ、どのようにデフォルトにジャンプすることができますか? –

+0

から読んだことがないので、あなたのif文は常に 'false'を返されます – cmp

答えて

0

if - 文は常にfalseを返しますので、Requestを読むことはありません。

あなたはMSDNが言うので、「キー」という名前のパラメータが渡されたかどうか、あなたはRequest["msg"]代わりのerrorMessageを確認することができます確認したい場合は、次の

指定されたキーが見つからない場合は、nullが返されます。

string errorMessage = ""; 

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

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

非常に役立つ@stephan。助けてくれてありがとう。 – cmp

関連する問題