将选择/下拉项的值传递给控制器​​仅接收 0

我已经成功创建了一个视图来显示一些投票记录。但在同一个视图上,我尝试调用控制器上的另一个方法来导出这些记录,但它只接收 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)

这是我用来发布到控制器的表单。


@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 错误


慕慕森
浏览 106回答 1
1回答

料青山看我应如是

Export&nbsp;端点需要一个名为&nbsp;electionYear&nbsp;的表单值。但您的&nbsp;<select>&nbsp;没有&nbsp;name&nbsp;(或任何&nbsp;name)。尝试:<select&nbsp;name="electionYear"&nbsp;class="form-control"&nbsp;asp-items="ViewBag.Election"></select>
打开App,查看更多内容
随时随地看视频慕课网APP