Я пытаюсь изучить ASP .NET Core и создаю простое веб-приложение для отслеживания выигрышей / проигрышей в видеоигре, в которую я играю.На одном экране я бы хотел, чтобы пользователь выбрал символ и сцену из двух выпадающих списков, которые заполнены данными из базы данных SQL.Проблема, с которой я столкнулся, заключается в том, что я не могу отобразить поля как раскрывающийся список с одним выбором.Они будут отображаться только как поля с несколькими вариантами выбора и полосой прокрутки внутри.
Вот код, который я использую для моего контроллера:
public class HomeController : Controller
{
public readonly IConfiguration configuration;
private readonly DatabaseContext _context;
Repository _repository = new Repository();
public HomeController(IConfiguration config, DatabaseContext context)
{
this.configuration = config;
_context = context;
}
public IActionResult AddGame()
{
List<CharacterViewModel> characterList = new List<CharacterViewModel>();
List<StageViewModel> stageList = new List<StageViewModel>();
characterList = (from Name in _context.Characters select Name).ToList();
characterList.Insert(0, new CharacterViewModel { CharacterID = 0, Name = "" });
ViewData["characterList"] = characterList;
ViewBag.characterList = characterList;
stageList = (from Stage in _context.Stages select Stage).ToList();
stageList.Insert(0, new StageViewModel { StageID = 0, Name = "" });
ViewData["stageList"] = stageList;
ViewBag.stageList = stageList;
AddGameViewModel addGameViewModel = new AddGameViewModel();
addGameViewModel.Characters = characterList;
addGameViewModel.Stages = stageList;
return View(addGameViewModel);
}
}
Для моей модели персонажа (модель сценыпочти идентично):
public class CharacterViewModel
{
[Key]
public int CharacterID { get; set; }
[Display(Name = "CharacterName")]
public string Name { get; set; }
}
И, наконец, мое мнение:
<form asp-controller="HomeController" asp-action="AddGame" method="post" class="form-horizontal" role="form">
<div class="form-group">
<div class="row">
<div asp-validation-summary="ModelOnly"></div>
<div class="col-xs-12 col-sm-6 col-lg-4">
<p>Character</p>
<select asp-for="Characters" id="characterSelect"
class="dropdown"
asp-items="@(new SelectList(ViewBag.CharacterList, "CharacterID", "Name"))"></select>
</div>
</div>
<div class="row">
<div asp-validation-summary="ModelOnly"></div>
<div class="col-xs-12 col-sm-6 col-lg-4">
<p>Stage</p>
<select asp-for="Stages" id="stageSelect"
class="dropdown"
asp-items="@(new SelectList(ViewBag.StageList, "StageID", "Name"))"></select>
</div>
</div>
</div>
</form>
Я следовал Этот урок , чтобы добраться до того места, где я сейчас, и я 'я не уверен, что я мог бы сделать иначе, потому что это не сработало.