我在一个视图中列出电影项目,并想知道如何将那些通过复选框选中的电影传递给另一个视图,比如SelectedMovies视图。
My当前模型:
public class Movie
{
public int MovieID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}控制器:
public ActionResult Movies()
{
return View(rc.GetAll().OrderBy(m => m.Name));
}
public ActionResult SelectedMovies()
{
return View();
}电影视图:
@model IEnumerable<Application.Models.Movie>
@using (Html.BeginForm("SelectedMovies","Site"))
{
@foreach (var item in Model)
{
<li>
@Html.DisplayFor(modelItem => item.Name)
@Html.DisplayFor(modelItem => item.Description)
@Html.CheckBoxFor(modelItem => item.isSelected)
</li>
}
}SelectedMovies视图将只是一个带有在“电影视图”中选中的项的视图。
发布于 2015-05-11 08:37:03
多亏了Sachu(如果可以的话),我才能解决我的问题。这可能是也可能不是最好的解决方案,但就目前而言,它给了我我想要的结果。
public class Movie
{
public int MovieID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
public class SelectedMovie
{
public int MovieID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}而不是使用@Html.CheckBoxFor,而是使用标准
<input id="chk-@item.MovieID" type="checkbox" name="chk_movie" value="@item.MovieID" />对于ActionResult:
[HttpPost]
public ActionResult SelectedMovies(IList<int> chk_movie)
{
List<SelectedMovie> list = new List<SelectedMovie>();
for (int i = 0; i < chk_movie.Count; i++ )
{
SelectedMovie sm = new SelectedMovie();
Movie m = new Movie();
m = RestClient.GetById(chk_movie[i]);
sm.MovieID = m.MovieID;
sm.Name = m.Name;
list.Add(sm);
}
return View(list);
}希望这能帮助任何有类似问题的人。
发布于 2015-05-11 03:35:11
检查下面的code..hope,它有帮助
在视图中,为所有复选框赋予相同的名称和唯一的值。
<input type="checkbox" name="movie_id" value="@item.MovieID" >
In your controller pass an IList with the name of the checkbox.
public ActionResult display_selected_movies(IList<string> movie_id)
{
......
}您将只获得选中的复选框的值列表。
发布于 2015-05-11 05:15:50
public class Movie
{
public int MovieID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public bool IsSelected {get; set;}
}然后在视野中
@Html.CheckBoxFor(modelItem => item.IsSelected) https://stackoverflow.com/questions/30158208
复制相似问题