2016-11-21 38 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

相關問題