Предположим я на странице леплю формочку в которой несколько элементов select, вот такой код
@page
@model ArmUpdater.Pages.Index2Model
@{
ViewData["Title"] = "Index2";
}
<div class="row">
<form method="post">
<div class="col-md-8">
@foreach (var service in Model.Services)
{
<div class="row">
<div class="col-md-4">
<label asp-for="@service.Id"></label>
</div>
<div class="col-md-3">
<select asp-items="@(new SelectList(service.Versions))"></select>
</div>
<div class="col-md-3">
<label>@service.CurrentVersion</label>
</div>
</div>
}
</div>
<input type="submit" class="btn btn-default" asp-page-handler="update" value="Update" />
</form>
</div>
вот модель
public class Index2Model : PageModel
{
public class ServiceModel
{
public string Id { get; set; }
public Version CurrentVersion { get; set; }
public Version[] Versions { get; set; }
public ServiceModel(string id, Version version, Version[] availableVersions)
{
Id = id;
CurrentVersion = version;
Versions = availableVersions;
}
}
private readonly IceGridEngine _iceGridEngine;
public ServiceModel[] Services { get; set; }
public Index2Model(IceGridEngine iceGridEngine)
{
_iceGridEngine = iceGridEngine;
}
public void OnGet()
{
Services = _iceGridEngine.GetServices();
}
public async Task<IActionResult> OnPostUpdateAsync(IEnumerable<ServiceModel> services)
{
var tmp = services.ToArray();
return Page();
}
}
Список сервисов берется динамически из источника, соответственно у меня не получается хранить выбранные версии в Model.Services, как описано в большинстве мануалов.
Кто-нибудь может подсказать, куда копать, чтобы получить список всех выбранных версий сервисов в формате service.Id, service.SelectedVersion?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости