首页 > 解决方案 > @foreach 使用动态模型 - 如何使用 where 子句

问题描述

我有一个动态模型,我想在视图中添加一个 where 子句,但现在确定如何去做。我想把部门=销售放在哪里。我可以这样做吗?我知道我可以在 select SQL 语句中放置一个 where,但现在在视图中我想对类别使用 where 子句。

                    @foreach (SalesLinks salesLinks in Model.SalesLinks)


        model.Documents = GetDocuments();
        return View(model);



                private static List<SalesLinks> GetSalesLinks()
                        {
                            List<SalesLinks> salesLinks = new List<SalesLinks>();
                            string query = "SELECT ID, SalesLinksName, Description, Department, Catagory, SalesLinks_url FROM SalesLinks ORDER BY Department";
                            string constr = ConfigurationManager.ConnectionStrings["PBTConn"].ConnectionString;
                            using (SqlConnection con = new SqlConnection(constr))
                            {
                                using (SqlCommand cmd = new SqlCommand(query))
                                {
                                    cmd.Connection = con;
                                    con.Open();
                                    using (SqlDataReader sdr = cmd.ExecuteReader())
                                    {
                                        while (sdr.Read())
                                        {
                                            salesLinks.Add(new SalesLinks
                                            {
                                                ID = Convert.ToInt32(sdr["ID"]),
                                                SalesLinksName = sdr["SalesLinksName"].ToString(),
                                                Description = sdr["Description"].ToString(),
                                                Department = sdr["Department"].ToString(),
                                                Catagory = sdr["Catagory"].ToString(),
                                                SalesLinks_url = sdr["SalesLinks_url"].ToString()
                                            });
                                        }
                                    }
                                    con.Close();
                                    return salesLinks;
                                }
                            }
                        }

标签: asp.net-mvc

解决方案


您可以直接在 where 子句上使用 linq:

@foreach (SalesLinks salesLinks in Model.SalesLinks.Where(x => x.department == "sales"))

推荐阅读