On my razor page project, I am using a View Component as a template for listings, like so in my html:
@foreach (var listingItem in Model.ListingItems)
{
@await Component.InvokeAsync("Listing", new { listingItem = listingItem })
}
where a ListingItem object is passed down to be displayed with the model:
public class ListingViewComponent : ViewComponent
{
public ListingItem ListingItem { get; private set; }
public IViewComponentResult Invoke(ListingItem listingItem)
{
return View(this);
}
}
In this Listing view component, I have among other things a form with a post:
<form method="post">
// some stuff
</form>
So far, I am able to successfully display data and get a post. I've search for ways to pass down object from ViewComponents to Page Models on click but haven't been successful. Can this be achieved with ViewComponents or do I need to use something like partial views?
Thanks!