ahmed_sa Ответов: 1

Как привязать модель заголовка продаж к коллекции строк продаж с помощью ASP.NET ядро 2.1 ?


Проблема

Как привязать модель заголовка продаж к коллекции строк продаж с помощью asp.net ядро 2.1 ?
Я работаю над проектом у меня есть форма заказа на продажу эта форма содержит
salesHeader
коммивояжер
так что у меня уже есть продажи модели коллектора имеют свойство навигации для продаж нижнего колонтитула
как показано ниже
Модель SalesHeader

public int SalesOrderNo { get; set; }
  public int SalesYear { get; set; }
  public ICollection<SalesFooter> SalesFooters { get; set; }


SalesFooter Model
public int SalesOrderNo { get; set; }
public int Quantity { get; set; }
public int UnitPrice { get; set; }


Как получить коллекцию нижнего колонтитула продаж при редактировании действия контроллера заголовка продаж и редактировании представления контроллера заголовка продаж, пожалуйста ?
1 - при редактировании действия контроллера заголовка продаж как получить коллекцию нижнего колонтитула продаж ?
2 - на вид изменить(получить) получила заголовок контроллер как сделать коллекцию по продажам нижний колонтитул ?


Что я уже пробовал:

public class SalesOrderController : Controller
    {
        private readonly IrepositoryTab<SalesHeader> _repositoryHeader;
        public  SalesOrderController(IrepositoryTab<SalesHeader> SalesHeader, IrepositoryTab<SalesFooter> SalesFooter)
        {
            this._repositoryHeader = SalesHeader;
            this._repositoryFooter = SalesFooter;
         
        }

//получить
public IActionResult Edit(int? id)
       {

           var SalesHeader = _repositoryHeader.GetById(id);
          //How to bind with sales footer
           return View();

       }

в режиме редактирования
 <div class="form-group">
                <label asp-for="SalesOrderNo" class="control-label"></label>
                <input asp-for="SalesOrderNo" class="form-control" />
                <span asp-validation-for="SalesOrderNo" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="SalesYear" class="control-label"></label>
                <input asp-for="SalesYear" class="form-control" />
                <span asp-validation-for="SalesYear" class="text-danger"></span>
            </div>
//How to bind Sales Header with Sales Footer

при просмотре заголовка продаж

1 Ответов

Рейтинг:
0

Bohdan Stupak

Поскольку код, который вы предоставили, кажется действительным, и вы не предоставили никакого сообщения об ошибке, и что-то помешало вам позвонить SalesHeader.SalesFooters я думаю, что в вашем случае это так SalesHeader.SalesFooters является нулевым.
Вероятная причина этого заключается в том, что ваш _repositoryHeader.GetById(id) реализация отсутствует Include вызовы, которые заполнят ваше навигационное свойство.
Вы можете прочитать об этом подробнее здесь