我目前已将用户有权访问的组织列表设置为列表 ( List<string> userOrg
)。
列表内容类似于:
34598
34599
23%
然后我使用这个列表填充一个gridview,所以gridview会给我所有的信息:
34598
34599
everything that starts with: 23
现在我想以某种方式让用户能够搜索该gridview
他们将他们想要查找的组织放入文本框中,它填充得很好,但是我如何确保只显示他们有权访问的组织?
我想我要问的是,如何搜索用户组织列表以确保有问题的组织在其中,但同时考虑通配符。
例如,如果他们搜索“345%,我只想向他们显示 34598 和 34599,而不是 34566,因为这些是用户可以访问的(在我的 userOrg 列表中)
我从这个开始,但不确定如何处理通配符:
List<string> org = new List<string>();
List<string> userOrg = new List<string>();
userOrg = (List<string>)Session["UserOrgs"] ;
if (txtOrg.Text == "")
Session["UserOrgs"] = userOrg;
else
{
foreach (string item in userOrg)
{
if(Regex.IsMatch(item, txtOrg.Text))
org.Add(txtOrg.Text);
}
Session["UserOrgs"] = org;
}
ObjectDataSource1.Select();
现在,如果我在文本框中输入 23% 以搜索我可以访问且以 23 开头的所有组织,它匹配并进入 if,但是如果我在文本框中输入 2%,它不匹配O 在我的 userOrg 列表中有 23% 并且没有返回任何内容。
也许有一种方法可以使用 LINQ 更轻松地做到这一点?我以前没有做太多。