C# 在我的视图中显示来自其他模型的数据
创建付款时,我希望在付款索引视图中显示ClientName。我从另一个名为“Clients”的表中获取客户端名称 付款模式:C# 在我的视图中显示来自其他模型的数据,c#,asp.net-mvc,C#,Asp.net Mvc,创建付款时,我希望在付款索引视图中显示ClientName。我从另一个名为“Clients”的表中获取客户端名称 付款模式: public class Payments { [Key] public int PaymentsId { get; set; } public int ClientsId { get; set; } [ForeignKey("ClientsId")] public virtual Clients Clients { get;
public class Payments
{
[Key]
public int PaymentsId { get; set; }
public int ClientsId { get; set; }
[ForeignKey("ClientsId")]
public virtual Clients Clients { get; set; }
public String Paymentnumber { get; set; }
public DateTime PaymentDate { get; set; }
public Decimal Amount { get; set; }
public Decimal Discount { get; set; }
public String Reference { get; set; }
public String Bank { get; set; }
}
付款控制员:
// GET: Payments
public ActionResult Index()
{
return View(db.PaymentsList.ToList());
}
付款索引视图:
@model IEnumerable<localuh.Models.Payments>
....
<table class="table">
<tr>
<th>@Html.DisplayNameFor(model => model.Paymentnumber)</th>
<th>@Html.DisplayNameFor(model => model.PaymentDate)</th>
<th>@Html.DisplayNameFor(model => model.Amount)</th>
<th> @Html.DisplayNameFor(model => model.Discount)</th>
<th>@Html.DisplayNameFor(model => model.Reference)</th>
<th>@Html.DisplayNameFor(model => model.Bank)</th>
<th></th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>@Html.DisplayFor(modelItem => item.Paymentnumber)</td>
<td>@Html.DisplayFor(modelItem => item.PaymentDate)</td>
<td>@Html.DisplayFor(modelItem => item.Amount)</td>
<td>@Html.DisplayFor(modelItem => item.Discount)</td>
<td>@Html.DisplayFor(modelItem => item.Reference)</td>
<td>@Html.DisplayFor(modelItem => item.Bank)</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.PaymentsId }) |
@Html.ActionLink("Details", "Details", new { id=item.PaymentsId }) |
@Html.ActionLink("Delete", "Delete", new { id=item.PaymentsId })
</td>
</tr>
}
</table>
@model IEnumerable
....
@DisplayNameFor(model=>model.Paymentnumber)
@DisplayNameFor(model=>model.PaymentDate)
@DisplayNameFor(model=>model.Amount)
@Html.DisplayNameFor(model=>model.DisplayNameFor)
@DisplayNameFor(model=>model.Reference)
@DisplayNameFor(model=>model.Bank)
@foreach(模型中的var项目){
@DisplayFor(modelItem=>item.Paymentnumber)
@DisplayFor(modelItem=>item.PaymentDate)
@DisplayFor(modelItem=>item.Amount)
@DisplayFor(modelItem=>item.Discount)
@DisplayFor(modelItem=>item.Reference)
@DisplayFor(modeleItem=>item.Bank)
@ActionLink(“编辑”,“编辑”,新的{id=item.PaymentsId})|
@ActionLink(“详细信息”,“详细信息”,新的{id=item.PaymentsId})|
@ActionLink(“删除”,“删除”,新的{id=item.PaymentsId})
}
那么,我该怎么做呢?您的
支付
模型包含客户
的虚拟
属性(该属性将由EF“延迟加载”,因此您只需添加另一个表列来显示客户的名称。假设您的客户
模型具有属性公共字符串名称{get;set;}
,那么它就是
<td>@Html.DisplayFor(modelItem => item.Clients.Name)</td>
@Html.DisplayFor(modelItem=>item.Clients.Name)
旁注:建议您将属性重命名为
Client
,而不是Clients
,这表明它是一个集合。@StephenMuecke我更改了所有建议需要暂停,但您能否显示付款的模式
(如果您设置正确,它应该有一个int-ClientID
属性和一个virtual-Client-Client
属性),我将在30分钟后查看Payment
模型(由db.PaymentsList
返回的模型),而不是PaymentsViewModel
只需在表中添加另一列@Html.DisplayFor(modelItem=>item.Clients.Name)
假设Name
是要显示的Clients
的属性。旁注:将属性命名为Clients
(复数)当它涉及到一个客户时,建议你考虑RealMeNIT的工作原理……你能解释一下这个例子中的虚拟操作吗?它会让我的客户的ID或类似的东西出现吗?