如何使用ASP.NET核心2.1将销售标题模型绑定到销售线集合? [英] How to bind sales header model to collection of sales line using ASP.NET core 2.1 ?

查看:54
本文介绍了如何使用ASP.NET核心2.1将销售标题模型绑定到销售线集合?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题



如何使用asp.net core 2.1将销售标题模型绑定到销售线集合?

我在项目上工作的销售订单表格包含这个表格

salesHeader

salesFooter

所以我已经有型号Sales Header有导航属性到销售页脚

如下

SalesHeader型号



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





 SalesFooter模型
public int SalesOrderNo { get ; set ; }
public int 数量{ get ; set ; }
public int UnitPrice { get ; set ; }





如何获取销售页脚控制器的编辑操作和销售页眉控制器的编辑视图的销售页脚集合?

1- on编辑销售标题控制器的操作如何获取销售页脚的集合?

2-在编辑视图(获取)销售标题控制器如何获取销售集合页脚?




我尝试过:



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

}



// get

 public IActionResult Edit(int?id)
{

var SalesHeader = _repositoryHeader.GetById(id);
//如何绑定销售页脚
return View();

}



编辑视图

< div class = 形式的基团> 
< label asp-for =SalesOrderNoclass =control-label>< / label>
< input asp-for =SalesOrderNoclass =form-control/>
< span asp-validation-for =SalesOrderNoclass =text-danger>< / span>
< / div>
< div class =form-group>
< label asp-for =SalesYearclass =control-label>< / label>
< input asp-for =SalesYearclass =form-control/>
< span asp-validation-for =SalesYearclass =text-danger>< / span>
< / div>
//如何将销售标题与销售页脚绑定



查看销售标题

解决方案

既然代码,你提供的似乎是有效的,你没有提供任何错误消息,有些东西阻止你调用 SalesHeader.SalesFooters 我的猜测是你的情况 SalesHeader.SalesFooters 为空。

可能的原因是你的 _repositoryHeader.GetById(id)实现缺失包含调用将填充您的导航属性。

您可以阅读更多关于此here

Problem

How to bind sales header Model to collection of sales Line using asp.net core 2.1 ?
I work on project have Sales Order form this form contain to
salesHeader
salesFooter
so that i already have model Sales Header have navigation property to Sales Footer
as following
SalesHeader Model

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; }



How to get collection of sales footer on Edit Action of Sales Header controller And Edit View Of Sales Header controller please ?
1- on Edit action of sales header controller how to get collection of sales footer ?
2- on Edit view(get) sales header controller how to get collection of sales footer ?


What I have tried:

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


//get

public IActionResult Edit(int? id)
       {

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

       }


on Edit 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


on view of sales Header

解决方案

Since the code, you've provided seems valid and you've not provided any error message and something stopped you from calling SalesHeader.SalesFooters my guess is that in your case SalesHeader.SalesFooters is null.
The probable reason for that is that your _repositoryHeader.GetById(id) implementation is missing Include calls which would fill your navigation property.
You can read more on this here


这篇关于如何使用ASP.NET核心2.1将销售标题模型绑定到销售线集合?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆