如何从 post 上的 ViewComponent 获取对象?

How to get object from ViewComponent on post?

在我的 razor 页面项目中,我使用视图组件作为列表模板,就像我的 html:

@foreach (var listingItem in Model.ListingItems)
{    
    @await Component.InvokeAsync("Listing", new { listingItem = listingItem })
}

传递 ListingItem 对象以与模型一起显示的位置:

public class ListingViewComponent : ViewComponent
{
    public ListingItem ListingItem { get; private set; }

    public IViewComponentResult Invoke(ListingItem listingItem)
    {
       return View(this);
    }
}

在这个 Listing 视图组件中,我有一个带有 post:

的表单
<form method="post">
// some stuff
</form>

到目前为止,我能够成功显示数据并获得post。我一直在寻找在点击时将对象从 ViewComponents 传递到页面模型的方法,但没有成功。这可以通过 ViewComponents 实现,还是我需要使用部分视图之类的东西?

谢谢!

I've search for ways to pass down object from ViewComponents to Page Models on click.

您可以尝试使用asp-pageasp-handler来设置页面和处理程序,这样当点击按钮时,表单数据将传递给页面的处理程序。

 <form method="post" asp-page="xxpage" asp-handler="xxhandler">
// some stuff
    <input type="submit" value="submit"/>
</form>