我的页面上有两个复选框,但第二个对我的模型总是返回false

时间:2016-06-23 22:03:53

标签: asp.net-mvc asp.net-core-mvc

我的“View”中有两个复选框,第一个工作正常,如果选中,则返回true,如果未选中,则返回false,但第二个返回false。

他们有相同的实现

<div class="form-group">
        <div class="g-recaptcha" data-sitekey="6LcgsyITAAAAAHiF8A1MGysKGUfQddq-_uzBD8ba"></div>
    </div>
    <div class="form-group">
        <div class="col-md-8  checkbox-inline">
            <input asp-for="Aceite" />
            <a href="#" data-toggle="modal" data-target="#myModal">Li e concordo com os termos de uso e privacidade</a>
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-8  checkbox-inline">
            <input asp-for="AceitePromocao" />
            <label asp-for="AceitePromocao"></label>
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-pull-12">
            <input type="submit" value="Aceitar e concluir" class="btn btn-success btn-lg" />
        </div>
    </div>

View

controller get value false

[HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> Create([Bind("EstudanteCursoID,EstudanteID,InteresseID,MatriculaID,Aceite, AceitePromacao, DataAceite, Ip")] EstudanteCurso estudanteCurso)
        {
            var estudante = TempData.Get<Estudante>("Estudante");
            var matricula = TempData.Get<Matricula>("Matricula");
            var interesse = TempData.Get<Interesse>("Interesse");

            if (ModelState.IsValid)
            {
                _context.Add(estudante);
                await _context.SaveChangesAsync();
                estudanteCurso.EstudanteID = estudante.ID;
            }

            if (ModelState.IsValid)
            {
                if (matricula != null)
                {
                    _context.Add(matricula);
                    await _context.SaveChangesAsync();
                    estudanteCurso.MatriculaID = matricula.ID;
                }
            }

            if (ModelState.IsValid)
            {
                if (interesse != null)
                {
                    _context.Add(interesse);
                    await _context.SaveChangesAsync();
                    estudanteCurso.InteresseID = interesse.ID;
                }
            }

            if (ModelState.IsValid)
            {
                estudanteCurso.IP = HttpContext.Connection.RemoteIpAddress.ToString();
                estudanteCurso.DataAceite = DateTime.Now;
                _context.Add(estudanteCurso);
                await _context.SaveChangesAsync();
                return RedirectToAction("WellCome", "EstudanteCursos", new { area = "" });
            }
            return View(estudanteCurso);
        }

 public class EstudanteCurso
    {
        public int EstudanteCursoID { get; set; }
        public int? MatriculaID { get; set; }
        public int? InteresseID { get; set; }
        public int EstudanteID { get; set; }
        public bool Aceite { get; set; }
        [Display(Name ="Desejo receber informaçãoes sobre vagas de emprego e cursos")]
        public bool AceitePromocao { get; set; }
        public DateTime DataAceite { get; set; }
        public string IP { get; set; }

        public virtual Estudante Estudante { get; set; }
        public virtual Matricula Matricula { get; set; }
        public virtual Interesse Interesse { get; set; }
    }

1 个答案:

答案 0 :(得分:1)

你有

<input asp-for="AceitePromocao" />

在您的标记中,但

[Bind("EstudanteCursoID,EstudanteID,InteresseID,MatriculaID,Aceite, AceitePromacao, DataAceite, Ip")]

不同的拼写:&#34; AceitePromocao&#34; vs&#34; AceitePromacao&#34;

相关问题