2015-05-11 53 views
0

我在視圖中列出了電影項目,並且想知道如何將通過複選框選擇的任何電影傳遞到其他視圖,例如SelectedMovies視圖。如何傳遞所選複選框項目的列表並傳遞到下一個視圖

我目前的型號:

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> 
    } 
} 

在S選擇的電影視圖將只是一個視圖,其中包含在「電影視圖」中選中的項目。

+0

目前還不清楚你在問什麼。您可以將選定的項目保存到您的數據庫中,並重新填充視圖,它將包含選定的項目。請提供更多見解 –

+0

我做了一個小小的編輯,不知道如何讓它更清晰 – redM

回答

0

檢查以下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) 
{ 
...... 
} 

您將得到僅列出所選複選框的值的列表。

+0

沒關係我得到它我不得不使用輸入的名稱,這有助於我傳遞ID。 – redM

+0

很高興至少它可以幫助你一些什麼.. – Sachu

0
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) 
1

感謝薩赫(+1代表,如果我可以)我能解決我的問題。它可能是也可能不是最好的解決方案,但現在它給了我想要的結果。

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="[email protected]" 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); 
} 

希望這有助於有類似問題的人。

相關問題