Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试使用两个下拉列表进行筛选_C#_Asp.net_Asp.net Mvc 4_Html Select - Fatal编程技术网

C# 尝试使用两个下拉列表进行筛选

C# 尝试使用两个下拉列表进行筛选,c#,asp.net,asp.net-mvc-4,html-select,C#,Asp.net,Asp.net Mvc 4,Html Select,我使用的是MVC,我试图通过两个下拉列表过滤数据 我有一个工作,只是不知道第二个工作的逻辑 这是我的密码: 控制器: public ActionResult Index(int? DepartmentID, int? JobTitleID) { DepartmentDropDownList(); JobDropDownList(); var employees = db.Employees.Include(e => e.Dep

我使用的是MVC,我试图通过两个下拉列表过滤数据

我有一个工作,只是不知道第二个工作的逻辑

这是我的密码:

控制器:

    public ActionResult Index(int? DepartmentID, int? JobTitleID)
    {
        DepartmentDropDownList();
        JobDropDownList();
        var employees = db.Employees.Include(e => e.Department).Include(e => e.JobTitle);

        if (DepartmentID.HasValue || JobTitleID.HasValue)
        {
            employees = employees.Where(j => j.JobTitleID == JobTitleID);
            //somehow filter departments here
        }
        return View(employees.ToList());
    }
视图:

@model IEnumerable
@{
ViewBag.Title=“Index”;
}
指数
@使用(Html.BeginForm())
{
按部门选择:@Html.DropDownList(“部门ID”、“部门”)

按职务选择:@Html.DropDownList(“职务ID”、“职务”)

}
在具体化LINQ查询之前,必须按这两个字段进行筛选(
ToList()

这样,如果不存在任何值,则根本不会对其进行过滤


(如您所见,您可以根据需要链接任意多个
Where(Expression)

您所说的“尝试通过两个下拉列表过滤数据”是什么意思?正在尝试在下拉列表中显示部门和工作列表?请看我的答案。我需要通过两个下拉列表筛选数据。我不相信这有那么容易。我想得太多了
@model IEnumerable<josh_MVC_Company.Models.Employee>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
@using (Html.BeginForm())
{
    <p> Select by Department: @Html.DropDownList("DepartmentID", "Departments")  </p>

    <p> Select by Job Title: @Html.DropDownList("JobTitleID","Job Titles")  </p>
        <input type="submit" value="Filter" />
}
if (JobTitleID.HasValue)
    {
        employees = employees.Where(j => j.JobTitleID == JobTitleID.Value);
    }

if (DepartmentID.HasValue)
    {
        employees = employees.Where(j => j.DepartmentID == DepartmentID.Value);
    }
return View(employees.ToList());