在表单内创建表单

时间:2015-04-07 08:10:24

标签: c# asp.net .net

我想在表单中创建一个表单(没有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的详细输入字段。但这不起作用,我也不知道为什么以及如何解决这个问题

0 个答案:

没有答案