Viewbag возвращает ноль, когда вызывается контроль создания - PullRequest
0 голосов
/ 21 января 2019

Моя панель просмотра правильно отображает значения в представлении, но когда вызывается элемент управления созданием, значения равны нулю, поэтому, поскольку эти значения являются внешними ключами в другой таблице, я получаю исключение:

SqlException: оператор INSERT конфликтует с ограничением FOREIGN KEY> "FK_dbo.INFO_APONTAMENTO_dbo.BARCO_Barco_Id". Конфликт> произошел в базе данных «RVEIO», таблица «dbo.BARCO», столбец «Id».

Вот код:

public ActionResult Create()
    {
        ViewBag.SubCodigos = new SelectList(_subCodigosOperacionaisRepository.GetAll(), "Id", "Codigo");
        ViewBag.Codigos = new SelectList(_codigosOperacionaisService.GetAll(), "Id", "Codigo");
        ViewBag.LocalDaOperacao = new SelectList(_localDaOperacaoAppService.GetAll(), "Id", "Nome");
        ViewBag.Barcos = new SelectList(_barcoRepository.GetAll(), "Id", "Nome");
        return View();
    }
 [HttpPost]
 public ActionResult Create(ApontamentoViewModel apontamentoViewModel)
    {
        if (!ModelState.IsValid)
        {
            return View(apontamentoViewModel);               
        }
        ViewBag.Codigos = new SelectList(_codigosOperacionaisService.GetAll(), "Id", "Codigo", apontamentoViewModel.InfoApontamento.CodigosDeOperacao_Id);
        ViewBag.SubCodigos = new SelectList(_subCodigosOperacionaisRepository.GetAll(), "Id", "Codigo", apontamentoViewModel.InfoApontamento.SubCodigosDeOperacao_Id);
        ViewBag.LocalDaOperacao = new SelectList(_localDaOperacaoAppService.GetAll(), "Id", "Nome", apontamentoViewModel.InfoApontamento.LocalDaOperacao_Id);
        ViewBag.Barcos = new SelectList(_barcoRepository.GetAll(), "Id", "Nome", apontamentoViewModel.InfoApontamento.Barco_Id);

        var apontamento = _apontamentoAppService.Add(apontamentoViewModel);
    }

Когда var apontamento = _apontamentoAppService.Add(apontamentoViewModel); вызывается, значение равно нулю

My View:

   <div class="col-md-10">
        @Html.DropDownList("Codigos", String.Empty)
        @Html.DropDownList("SubCodigos", String.Empty)
        @Html.DropDownList("LocalDaOperacao", String.Empty)
        @Html.DropDownList("Barcos", String.Empty)
    </div>
...