asp.net-mvc - @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;
}
}
}
解决方案
您可以直接在 where 子句上使用 linq:
@foreach (SalesLinks salesLinks in Model.SalesLinks.Where(x => x.department == "sales"))
推荐阅读
- node.js - 使用 nginx 为在 node.js+mongodb+basic Html 和 Docker 中的 CSS 上运行的 Web 应用程序设置反向代理=> 不工作
- c# - 为什么某些行在 c# 中显示不同列的数据?
- mysql - MySQL在值更改时减少用户变量?
- java - 在具有自定义操作系统的 android 设备中启动永无止境的后台服务的最佳实践
- javascript - 为什么我的 javascript 测验的所有答案都是错误的?
- java - Java枚举在我的枚举类的静态方法中为空
- mysql - 使用 Cloudformation 创建 Rd
- jmeter - JMeter - 结果分析。响应时间开销问题
- security - iText 和 Shadow 攻击
- python - 二进制搜索 Python 返回无