输出集合表单查询对应的ICollection dropdownlist方法
Output ICollection dropdownlist method corresponding to collection form query
我有 2 个模型(电影和演员)
我已经可以检索包含 selected 演员的电影列表。我可以通过 Html.DisplayNameFor 输出所有这些。但我想使用 DDL 来输出 Icollection Actors,而不是循环使用 @Html.DisplayNameFor(model => model.Actors) 中的子项。所以我需要dropdownlist对应于SelectedList Actor。默认输出是 all/ 并且如果我 select 特定的电影参数,例如 Genre 或 Budget 比 DDL with Actors 应该对应于此。
public class Movie
{
public int MovieID { get; set; }
public string Title { get; set; }
public string Date { get; set; }
public int Budget { get; set; }
public string Genre { get; set; }
public virtual ICollection<Actor> Actors { get; set; }
}
public class Actor
{
public int ID { get; set;}
public string Name { get; set; }
public virtual ICollection<Movie> Movies { get; set; }
}
我用
实现输出
<th>
@Html.DisplayNameFor(model => model.Genre)
</th>........................
<th>.........................
@Html.DisplayNameFor(model => model.Actors)
</th>...............
对于 Actors
集合,我需要为输出的每一行使用另一种形式。因为每一部电影都可以有很多演员。
如果 Actors 有很多列,我该如何隐藏它?或者输出一些具有扩展能力的数量?
我选择将它们添加到 DropDownList。
也许一些新的 AJAX 形式或 asp.net 元素是不错的选择。
因此我有 MovieController:
if (!String.IsNullOrEmpty(SearchActor))
{
Movie = Movie.Where(c => c.Actors.Any(i => i.Name.Contains(SearchActor)));
}
return View(Movie.ToList());
它returns一部电影。如何从对应于 Actor ICollection 的 Movie
中检索 Actors.Name
(字符串)?
我会将此字符串添加到 DDL。
试试这个
var actors = Movie.Where(c => c.Actors.Any(i => i.Name.Contains(SearchActor))).SelectMany(i => i.Actors);
我有 2 个模型(电影和演员)
我已经可以检索包含 selected 演员的电影列表。我可以通过 Html.DisplayNameFor 输出所有这些。但我想使用 DDL 来输出 Icollection Actors,而不是循环使用 @Html.DisplayNameFor(model => model.Actors) 中的子项。所以我需要dropdownlist对应于SelectedList Actor。默认输出是 all/ 并且如果我 select 特定的电影参数,例如 Genre 或 Budget 比 DDL with Actors 应该对应于此。
public class Movie
{
public int MovieID { get; set; }
public string Title { get; set; }
public string Date { get; set; }
public int Budget { get; set; }
public string Genre { get; set; }
public virtual ICollection<Actor> Actors { get; set; }
}
public class Actor
{
public int ID { get; set;}
public string Name { get; set; }
public virtual ICollection<Movie> Movies { get; set; }
}
我用
实现输出 <th>
@Html.DisplayNameFor(model => model.Genre)
</th>........................
<th>.........................
@Html.DisplayNameFor(model => model.Actors)
</th>...............
对于 Actors
集合,我需要为输出的每一行使用另一种形式。因为每一部电影都可以有很多演员。
如果 Actors 有很多列,我该如何隐藏它?或者输出一些具有扩展能力的数量?
我选择将它们添加到 DropDownList。
也许一些新的 AJAX 形式或 asp.net 元素是不错的选择。
因此我有 MovieController:
if (!String.IsNullOrEmpty(SearchActor))
{
Movie = Movie.Where(c => c.Actors.Any(i => i.Name.Contains(SearchActor)));
}
return View(Movie.ToList());
它returns一部电影。如何从对应于 Actor ICollection 的 Movie
中检索 Actors.Name
(字符串)?
我会将此字符串添加到 DDL。
试试这个
var actors = Movie.Where(c => c.Actors.Any(i => i.Name.Contains(SearchActor))).SelectMany(i => i.Actors);