나는 3 개 모델 트랙 또한 트랙의 인스턴스가 재생 목록의 인스턴스가 앨범 있습니다.MVC 3 - 컨트롤러에서보기에서 선택된 항목을 확인하는 방법은 무엇입니까?
현재 내 앨범보기에는 재생 목록과 재생 목록에 추가 버튼이있는 하단에 체크 박스와 드롭 다운이있는 각 트랙이 표시됩니다. 따라서 사용자는 앨범에서 트랙을 선택하고 이미 가지고있는 재생 목록에 추가 할 수 있어야합니다. 하지만 내 컨트롤러가 어떻게 처리되는지는 잘 모르겠습니다.
**Album View**
@{
ViewBag.Title = "Details";
}
<h2>Album: @Model.Title</h2>
@{
List<Sem_App.Models.Playlist> abc = ViewBag.Playlists;
IEnumerable<SelectListItem> selectList =
from c in abc
select new SelectListItem
{
Text = c.PlaylistName,
Value = c.PlaylistName,
};
}
@using (Html.BeginForm()){
foreach (var track in Model.Tracks)
{
@Html.CheckBox(track.Title)
@track.Title
<br />
}
@Html.DropDownList("abd", selectList)
<input type="submit" value="Add selected songs to playlist" />
}
내 컨트롤러 방법 나는 사용자가 선택한 추적하는 확인하는 사용자가 컨트롤러에서 선택한 재생 목록 수있는 방법
[HttpPost]
public ActionResult Details(FormCollection fc)
{
return View();
}
모양처럼 내보기 보인다?
체크되지 않은 항목은 제출되지 않습니다. 따라서 체크 된 항목 만 실행됩니다. IsSelected 속성을 사용하는 대신 기본 키 값을 checkbox 값으로 설정해야합니다. 이렇게 @ html.CheckBoxFor (m => m.Tracks [i] .Id)' – Yorgo
@ Html.CheckBoxFor (m => m.Tracks [i] .Id) - 이렇게하면 int가 bool로 변환 될 수 없다는 오류가 발생합니다. . – user972616
IsSelected 속성을 사용하는 경우 트랙을 선택하고 나면 오른쪽 이후에 선택을 해제해야합니까? 이러한 트랙은 앨범에만 표시되는 것이 아니라 아티스트 페이지 아래에 표시됩니다. – user972616