2016-11-21 60 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; 
    } 

我没有得到一个例外,默认交换机的工作原理,它打印:“我们正在努力就可以了......”的页面,但它取决于参数“味精不会改变“传递给请求。

+0

如果你申请一个调试器代码的这一部分,我相信你一定会找出是什么问题 –

+0

你的if语句总是返回'FALSE'所以你永远不会从请求 –

+0

阅读如果我带走了If语句,它就可以工作,只要我传递了一个URL即可。如果没有通过,我怎么能得到它跳转到默认值? – cmp

回答

0

您的if - 陈述将始终返回false,因此您从未读过Request

如果你想检查是否通过了名为“关键”的参数,你可以检查Request["msg"]代替errorMessage,因为MSDN说:

如果没有找到指定的键,则返回null。

string errorMessage = ""; 

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

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

非常有帮助@stephan。感谢您的帮助。 – cmp