2016-09-23 14 views
1

どのようにしてRequest.QueryStringにenumリストが含まれているかを確認できますか? 例えば: 私はenumを持っている:enumリストにRequest.QueryStringが含まれているかどうかを確認

enum queryString 
{ 
    monday, 
    tuesday, 
    wednesday, 
    thursday, 
    friday, 
    saturday, 
    sunday 
} 

取得列挙値:

var enumQueryString = Enum.GetValues(typeof(queryString)).Cast<queryString>().ToList(); 

私はB

Request.QueryString["days"].Contains(enumQueryString.ToString()) 

または

for (int i = 0; i < enumQueryString.Count; i++) 
     if (Request.QueryString["days"].Contains(enumQueryString[i].ToString())) 
      Response.Redirect("~/Default.aspx"); 

を試してみました最後のケースでは、反復のために正しく動作しません。

答えて

1

それは周りに他の方法です:あなたはenumQueryStringリストを確認してください:

var enumQueryStringList = Enum.GetValues(typeof(queryString)).Cast<queryString>().ToList(); 
if (enumQueryStringList.Contains(Request.QueryString["days"])) { 
    ... 
} 

あなたも、LINQなしでそれを行うことができます。

queryString qs; 
if (Enum.TryParse<queryString>(Request.QueryString["days"], out qs)) { 
    ... 
} 
+0

OK!どうもありがとう!! –

関連する問題