Связать выпуск данных asp.net core 2.2 - PullRequest
0 голосов
/ 06 ноября 2019

и поскольку я обновляюсь до ядра 2.2, у меня возникает следующая проблема:

, когда я хочу отредактировать модель, в которой есть родительский класс, например, свойство в здании (башне), которое я передаю в представление редактирования (бритва) объект свойства с информацией родителя (башни), чтобы я мог показать информацию о башне, НО, когда человек нажимает сохранить и данные передаются в контроллер, объект башни имеет пустые / нулевые значения, как вы можете видеть визображение ниже enter image description here

Это нарушает ModelState.IsValid для формы, этот запуск происходит после того, как я обновляю ядро ​​с 2.0 до 2.2, до того, как объект башни станет нулевым и тамне было никаких проблем. пожалуйста, помогите

здесь моя сущность

 public class Property 
    {
        public string Name { get; set; }
        public string Floor { get; set; }
        public string Description { get; set; }
        public int? Rooms { get; set; }
        public int? Baths { get; set; }
        public double? Size { get; set; }
        public bool isRent { get; set; }
        public double? Portion { get; set; }
        public string OwnerName { get; set; }
        public string Building { get; set; }
        public string OwnerPhone { get; set; }
        public string OwnerEmail { get; set; }
        public virtual User User { get; set; } = null;
        public int UserID { get; set; }
        public virtual Tower Tower { get; set; } = null;
        public int TowerID { get; set; }

    }

и здесь мои методы контроллера

    [BreadCrumb(Title = "Editar", Order = 1)]
    public async Task<IActionResult> Edit(int id)
    {
        var property =  _propertyBL.GetById(id,User);
        if (property == null)
        {
            return View("~/Views/Home/NotFound.cshtml");
        }
        PopulateDropDowns(property.UserID, property.TowerID);
        return View(property);
    }

    [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> Edit(Property value)
    {

        if (ModelState.IsValid)
        {
            _propertyBL.Update(value);
            return RedirectToAction(nameof(Index));
        }
        value.Tower = _towerBL.GetById(value.TowerID);
        value.User = _userBL.GetById(value.TowerID);
        PopulateDropDowns(value.UserID, value.TowerID);
        return View(value);
    }

ПРИМЕЧАНИЕ: в редактировании все включает вызов и представление показывают данныепри его отправке обратно на контроллер данные теряются

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...