ASP.NET C# 判斷 HTTP REQUEST 請求來源 KEY 是否存在
HTTP 請求來源可以為 POST 或 GET 類型,並且夾帶 key 與 value
常用到會先檢查是否存在 key
若不存在則返回錯誤,或者對應處理,例如表單欄位未填
若存在key才進行正常程序,例如儲存表單
有幾種方式可以用來檢查
這裡以取得GET的參數來說明如何檢查 Key 是否存在
[簡單判斷是否為NULL]
判斷是否存在 KEY,簡單判斷是否為 NULL就能做到
但無法過濾空白字元
if (Request.QueryString["TextBox1"] == null)
{
Response.Write("No Http Request Key : TextBox1<br>");
}
也可以使用 AllKeys.Contains 來檢查
//判斷KEY是否存在,但無法過濾空白字元
if (Request.QueryString.AllKeys.Contains("TextBox1"))
{
Response.Write("Yes");
}
[判斷是否為NULL或空白字元]
斷是否存在KEY,且排除空白字元方式
若 .NET 版本小於 4.0,可以使用 IsNullOrEmpty
if (string.IsNullOrEmpty(Request.QueryString["TextBox1"]))
{
Response.Write("No IsNullOrEmpty Http Request Key : TextBox1<br>");
}
若 .NET 版本在 4.0 以上,則可以使用 IsNullOrWhiteSpace
if (string.IsNullOrWhiteSpace(Request.QueryString["TextBox1"]))
{
Response.Write("No IsNullOrWhiteSpace Http Request Key : TextBox1<br>");
}
[範例]
if (Request.RequestType == "GET")
{
// 判斷是否存在 KEY,簡單判斷是否為 NULL, 但無法過濾空白字元
if (Request.QueryString["TextBox1"] == null)
{
Response.Write("No Http Request Key : TextBox1<br>");
}
else
{
Response.Write(Request.QueryString["TextBox1"] + "<BR>");
}
//判斷KEY是否存在,但無法過濾空白字元
if (Request.QueryString.AllKeys.Contains("TextBox1"))
{
Response.Write("Yes <BR>");
}
else
{
Response.Write("No <BR>");
}
// 判斷是否存在KEY,且排除空白字元方式
//[.NET < 4.0]
if (string.IsNullOrEmpty(Request.QueryString["TextBox1"]))
{
Response.Write("No IsNullOrEmpty Http Request Key : TextBox1<br>");
}
else
{
Response.Write(Request.QueryString["TextBox1"] + " --IsNullOrEmpty<BR>");
}
//[.NET >= 4.0]
if (string.IsNullOrWhiteSpace(Request.QueryString["TextBox1"]))
{
Response.Write("No IsNullOrWhiteSpace Http Request Key : TextBox1<br>");
}
else
{
Response.Write(Request.QueryString["TextBox1"] + "--IsNullOrWhiteSpace<BR>");
}
}