我想在表单中创建一个表单(没有javascript / jquery)。
我有发票清单。每张发票都有一个Id和一个InvoiceNumber,还有一个列表Details。
public class Invoice
{
[BsonId(IdGenerator = typeof(CombGuidGenerator))]
public Guid Id { get; set; }
[BsonElement("InvoiceNumber")]
public int InvoiceNumber { get; set; }
public List<Detail> Details { get; set; }
}
在列表详细信息中,有两个项目:另一个Id和一个DetailNumber
public class Detail
{
[BsonId(IdGenerator = typeof(CombGuidGenerator))]
public Guid Id { get; set; }
[BsonElement("DetailNumber")]
public int DetailNumber { get; set; }
}
这个想法是:您只能拥有一张发票(因此只有一张InvoiceNumber),但在该发票中,您可以拥有多个详细信息。
这是我的编辑/创建页面(第一个我也用来创建新发票:
@model ProjectInvoice.Models.Invoice
@using (Html.BeginForm("Create", "Home"))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>New Note</legend>
<h3>New Note</h3>
<div class="editor-label">
@Html.LabelFor(model => model.InvoiceNumber)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.InvoiceNumber)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<fieldset>
@foreach (ProjectInvoice.Models.Detail detail in Model.Details)
{
@Html.EditorFor(model => detail.DetailNumber)
}
</fieldset>
}
目前,我只是尝试显示DetailNumber的详细输入字段。但这不起作用,我也不知道为什么以及如何解决这个问题