0

我有 2 个下拉列表和一个列表视图:

<option value="Please choose...">Please choose...</option>
<option value="Permanent">Permanent</option>
<option value="Part Time">Part Time</option>
<option value="Volunteer">Volunteer</option>
<option value="Temporary">Temporary</option>

<option value="Please choose...">Please choose...</option>
<option value="South West">South West</option>
<option value="South East">South East</option>
<option value="London">London</option>
<option value="East of England">East of England</option>
<option value="West Midlands">West Midlands</option>
<option value="East Midlands">East Midlands</option>
<option value="North West">North West</option>
<option value="North East">North East</option>
<option value="Yorkshire &amp; Humberside">Yorkshire &amp; Humberside</option>
<option value="UK">UK</option>
<option value="Midlands">Midlands</option>

我想用这两个下拉值过滤一个项目列表。如果选择了索引 0(请选择),这应该返回该属性的所有内容。

这是我的代码,但是当您从第二个下拉列表中选择某些内容时,结果不正确。

protected void LoadCareerList(string jobType = "", string jobLocation = "")
    {
        var currentNode = Node.GetCurrent();
        var nodeList = new List<Node>();
        lblVacancyCount.Text = "Current vacancies: 0";

        foreach (Node node in currentNode.Children)
        {
            nodeList.Add(node);
        }

        if (nodeList.Count > 0)
        {
            List<Node> filteredList = nodeList.Where(
                    x => ((ddlFilterType.SelectedIndex == 0 || x.GetProperty("jobType").Value.Replace(" ", "").ToLower().Contains(jobType.Replace(" ", "").ToLower()))) && ((ddlFilterLocation.SelectedIndex == 0 || x.GetProperty("jobLocation").Value.Replace(" ", "").ToLower().Contains(jobLocation.Replace(" ", "").ToLower())))).OrderByDescending(x => x.GetProperty("jobDatePosted").Value).ToList();

            lvCareers.DataSource = filteredList;
            lvCareers.DataBind();
            lblVacancyCount.Text = "Current vacancies: " + filteredList.Count.ToString(CultureInfo.InvariantCulture);

        }
    }

到目前为止,我在系统中有 3 条记录:Career 1 = Midlands & Permanent Career 2 = London & Permanent Career 3 = Midlands & Temporary 当我选择 Permanent 我得到 2 条记录,在第二个过滤器中选择 London 会返回 0 条记录。

4

0 回答 0