验证枚举列表中是否包含Request.QueryString

时间:2016-09-23 13:05:04

标签: c# asp.net enums

如何验证枚举列表中是否包含Request.QueryString? 例如。: 我有enum

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

获取枚举值:

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

我试过

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 个答案:

答案 0 :(得分:1)

反过来说:你应该检查var enumQueryStringList = Enum.GetValues(typeof(queryString)).Cast<queryString>().ToList(); if (enumQueryStringList.Contains(Request.QueryString["days"])) { ... } 列表:

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

你也可以在没有LINQ的情况下做到这一点:

var express = require('express');