如何使用ASP.NET核心2.1将销售标题模型绑定到销售线集合? [英] How to bind sales header model to collection of sales line using ASP.NET core 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 callingSalesHeader.SalesFooters
my guess is that in your caseSalesHeader.SalesFooters
is null.
The probable reason for that is that your_repositoryHeader.GetById(id)
implementation is missingInclude
calls which would fill your navigation property.
You can read more on this here
这篇关于如何使用ASP.NET核心2.1将销售标题模型绑定到销售线集合?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!