下面是一个使用ASP.NET MVC 5和Razor视图的示例,通过不同的子元素筛选父元素的解决方法:
首先,在你的控制器中,创建一个包含父元素和子元素的数据模型:
public class ParentModel
{
public int ParentId { get; set; }
public string ParentName { get; set; }
public List Children { get; set; }
}
public class ChildModel
{
public int ChildId { get; set; }
public string ChildName { get; set; }
}
然后,创建一个控制器动作方法,返回一个包含父元素和子元素的模型列表:
public ActionResult Index()
{
List modelList = new List();
// 填充模型列表
// ...
return View(modelList);
}
接下来,在Razor视图中,使用foreach循环遍历父元素列表,并使用linq查询语句筛选出具有特定子元素的父元素:
@model List
@foreach (var parent in Model.Where(p => p.Children.Any(c => c.ChildName == "特定子元素名称")))
{
@parent.ParentName
@foreach (var child in parent.Children)
{
- @child.ChildName
}
}
这个示例中,我们使用linq查询语句来筛选出具有特定子元素名称的父元素。在这个案例中,我们使用了Any()
方法来判断父元素的子元素列表中是否存在包含特定子元素名称的子元素。
注意:在实际使用中,你需要根据你的数据模型和筛选条件进行适当的修改。