C# 使用请求进行响应。写入错误消息

C# 使用请求进行响应。写入错误消息,c#,asp.net,C#,Asp.net,我希望使用Response.Write将错误消息输出到页面,具体取决于请求的可选参数 我没有得到一个例外,默认开关工作,它打印:我们正在处理它。。。,但它不会根据传递给请求的参数msg而改变 您的if语句将始终返回false,因此您永远不会读取请求 如果要检查是否传递了名为key的参数,可以检查Request[msg]而不是errorMessage,因为上面说: 如果找不到指定的密钥,则返回null 如果您对代码的这一部分应用调试器,我相信您会发现问题所在。您的If语句将始终返回false,因此

我希望使用Response.Write将错误消息输出到页面,具体取决于请求的可选参数


我没有得到一个例外,默认开关工作,它打印:我们正在处理它。。。,但它不会根据传递给请求的参数msg而改变

您的if语句将始终返回false,因此您永远不会读取请求

如果要检查是否传递了名为key的参数,可以检查Request[msg]而不是errorMessage,因为上面说:

如果找不到指定的密钥,则返回null


如果您对代码的这一部分应用调试器,我相信您会发现问题所在。您的If语句将始终返回false,因此您永远不会从请求中读取If语句。如果我去掉If语句,只要我传递了一个URL,它就可以工作。如果什么都没有通过,我怎么能让它跳转到默认值呢?非常有用@stephan。谢谢你的帮助。
  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;
  }
string errorMessage = "";

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

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