Передача значения элемента выбора / раскрывающегося списка в контроллер получает только 0 - PullRequest
1 голос
/ 22 сентября 2019

Я успешно создал вид, чтобы показать некоторые записи из голосования.Но в том же представлении я пытаюсь вызвать другой метод на моем контроллере для экспорта этих записей, и он получает только 0 в качестве параметра.

Это моя модель.

public class Vote
    {
        public int Id { get; set; }
        public int CPF { get; set; }
        public virtual Candidate Candidate { get; set; }
        public int CandidateID { get; set; }
        public DateTime Moment { get; set; }
}

Это мой индекс.

public async Task<IActionResult> Index()
        {
            var context = _context.Vote.Include(v => v.Candidate).Include(v => v.Candidate.Election);
            //This is going to be on the view for the user to select the year to export data
            ViewData["Election"] = new SelectList(_context.Election, "Id", "Year");
            return View(await context.ToListAsync());
        }

Это действие, которое я пытаюсь вызвать.

[HttpPost]
public IActionResult Export(int electionYear)

Это форма, которую я использую для POST к контроллеру.

@model IEnumerable<Models.Vote>
...
//Here i show the votes and then below i show this form with the Elections
<form asp-action="Export">
    <div class="form-group">
        <select class="form-control" asp-items="ViewBag.Election"></select>
    </div>
    <div class="form-group">
        <input type="submit" value="Exportar" class="btn btn-default" />
    </div>
</form>

Я попробовал ее с [FormBody], и она дает мне 415 ОШИБКА

1 Ответ

1 голос
/ 22 сентября 2019

Конечная точка Export ожидает значение формы с именем electionYear.Но у вашего <select> этого нет name (или любого name).Попробуйте:

<select name="electionYear" class="form-control" asp-items="ViewBag.Election"></select>
...