Asp.net MVC C#One Form,Two Model

umk*_*mki 0 c# asp.net-mvc

我有两个模型如下.

 public class Bill
    {
        public int Id { get; set; }
        public string InvoiceNumber { get; set; }
        public Int64 Amount { get; set; }
        public int? NewPaymentId { get; set; }
        public virtual NewPayment RelPayment { get; set; }
    }


 public class NewPayment
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LstName { get; set; }    
        public DateTime PaymentDate { get; set; }
        public Int64 ProvisionNumber { get; set; }
        public Int64 CreditCardNumber { get; set; }
        public int ExpMonth { get; set; }
        public int ExpYear { get; set; }
        public int Cv2 { get; set; }
        public Int64 Amount { get; set; }
        public string UserId { get; set; }
        public string CustomerNote { get; set; }

    }
Run Code Online (Sandbox Code Playgroud)

客户将在我的申请表中通过信用卡支付发票.

我有一个视图,我将NewPayment模型发布到该操作.但现在,我还需要发送哪些发票.所以我需要为比尔模型再创建一个表格吗?但我无法弄清楚如何将两个模型传递给同一个动作,并且在执行付款方式之前我不知道NewPaymentId.

关于评论:

我的组合模型如下:

public class Payment
{
    public IEnumerable<Bill> Bill { get; set; }
    public NewPayment NewPayment { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的观点如下:

@model IEnumerable<ModulericaV1.Models.Bill>
  <form class="form-no-horizontal-spacing" id="NewPayment" action="/NewPayment/AddInvoice" method="post">
                <div class="row column-seperation">
                    <div class="col-md-6">
                        <h4>Kart Bilgileri</h4>
                        <div class="row form-row">
                            <div class="col-md-5">
                                <input name="FirstName" id="FirstName" type="text" class="form-control" placeholder="Kart Üzerindeki Ad">
                            </div>
                            <div class="col-md-7">
                                <input name="LastName" id="LastName" type="text" class="form-control" placeholder="Kart Üzerindeki Soyad">
                            </div>
                        </div>
                        <div class="row form-row">
                            <div class="col-md-12">
                                <input name="CreditCardNumber" id="CreditCardNumber" type="text" class="form-control" placeholder="Kart Numaras?">
                            </div>
                        </div>
                        <div class="row form-row">
                            <div class="col-md-5">
                                <input name="ExpYear" id="ExpYear" type="text" class="form-control" placeholder="Son Kullanma Y?l (20..)">
                            </div>
                            <div class="col-md-7">
                                <input name="ExpMonth" id="ExpMonth" type="text" class="form-control" placeholder="Son Kullanma Ay (1-12)">
                            </div>
                        </div>

                        <div class="row form-row">
                            <div class="col-md-5">
                                <input name="Cv2" id="Cv2" type="text" class="form-control" placeholder="Cv2">
                            </div>
                            <div class="col-md-7">
                                <input name="Amount" id="Amount" type="text" class="form-control" placeholder="Miktar TL ">
                            </div>
                        </div>


                        <div id="container">
                            <input id="Interests_0__Id" type="hidden" value="" class="iHidden" name="Interests[0].Id"><input type="text" id="InvoiceNumber_0__InvoiceNumber" name="[0].InvoiceNumber"><input type="text" id="Interests_0__InterestText" name="[0].Amount"> <br><input id="Interests_1__Id" type="hidden" value="" class="iHidden" name="Interests[1].Id"><input type="text" id="InvoiceNumber_1__InvoiceNumber" name="[1].InvoiceNumber"><input type="text" id="Interests_1__InterestText" name="[1].Amount"> <br>
                        </div>
                        <input type="button" id="btnAdd" value="Add New Item" />

                        <button class="btn btn-danger btn-cons" type="submit"> Ödemeyi Gerçekle?tir</button>
        </form>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我将支付模型视为空.

public ActionResult AddInvoice(Payment payment) {

            foreach (var item in payment.Bill)
            {
                var Billing = new Bill();
                Billing.Amount = item.Amount;
                Billing.InvoiceNumber = item.InvoiceNumber;
                db.Bill.Add(Billing);
                db.SaveChanges();
            }

            return View();
        }

    }
Run Code Online (Sandbox Code Playgroud)

Zak*_*kos 5

我用一个例子来完成Marko

public class CombineModel
{
   public Bill Bill{ get; set; }
   public NewPayment NewPayment{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)