I'm using MVC 5, and have a page where I will list out payments for a contract. there are times when there are no payments associated with a contract. my view brings in the model to list:
@model List<MyProject.Models.PaymentViewModel>
the Action Method on the Payment view looks like:
[HttpGet]
public ActionResult Payment(int id)
{
var payments = contractController.GetPaymentsForActiveContract(id);
return View(payments);
}
Now GetPaymentsForActiveContract returns a List and this works fine when I use
@Html.Partial("partialviews/_Payments")
on my view. but what i'm trying to do now is have another action method get called, which will return either a view which will display a table of payments, or another one which will write out there are none if no payments exists.
I have that action defined as:
public ActionResult GetPayments(List<PaymentViewModel> payments)
{
if (payments.Count > 0)
{
return PartialView("partialviews/_Payments", payments);
}
return PartialView("partialviews/_NoPayments");
}
I'm not sure how to pass the Model into this Action from my view. I'm looking through the @Html methods, but can't seem to find anything which would allow me to call the GetPayments method passing in the model and having it return either Partial View.