В примерах, которые вы обычно видите, используется скаффолдинг MVC, который создает очень простой Controller / Actions / Views для манипулирования определенным классом Model.Но вы можете показывать на своих страницах все, что хотите.Вот пример того, как отобразить раскрывающийся список.
Сначала создайте объект, который будет содержать все материалы, которые вы хотите отобразить на странице:
public class GameDetailsViewModel
{
public Game Game { get; set; }
public SelectList Players { get; set; }
}
Обратите внимание на SelectList
,Он будет использоваться в качестве источника для DropDownList
.
. Затем Action
заполняет этот объект:
public ViewResult Details(int id)
{
GameDetailsViewModel viewModel = new GameDetailsViewModel();
viewModel.Game = db.Games.Single(g => g.ID == id);
IEnumerable<Player> players = db.Players();
viewModel.Players = new SelectList(players, "ID", "FullName");
return View(viewModel);
}
Обратите внимание на перегрузку для метода View()
, который принимаетобъект, который мы создали для упаковки того, что нам нужно на странице.
Затем в представлении вы можете использовать HtmlHelper для рендеринга DropDownList:
@using (Html.BeginForm("signup", "games", FormMethod.Post))
{
@Html.DropDownList("playerID", Model.Players, "Select...", null)
<input type="submit" value="Sign up" />
}
Это очень простой пример., но вы можете расширить его, чтобы отправлять все, что вы хотите, в представление, а затем визуализировать его с использованием простого старого HTML или удобного HtmlHelpers .