首页 > 解决方案 > 在 Razor 页面中的 OnGet 和 OnPost 之间传递数据

问题描述

我有一个带有 OnGet 和 OnPost 方法的剃须刀页面:

public async Task<IActionResult> OnGetAsync(int? id)
{
            if (id == null)
            {
                return NotFound();
            }

            return Page();
}

然后为用户显示表单,用户填写数据并将其发布到 OnPost(),我的问题是我是否在 OnGet() 方法中有数据,我需要将其与表单一起传递给 OnPost() 方法,什么是最好的解决方案?

例如:我想将我在 OnGet 方法中获得的 id 传递给 OnPost 方法,最好的方法是什么?

我已经有了使用隐藏类型的输入来传递 id 的解决方案,但我想看看是否有更好的方法。

标签: c#asp.netdata-bindingrazor-pages

解决方案


在您的内部<form>只需包含一个隐藏的输入字段,如下所示:

<input type="hidden" value="@Model.id" name="id"/> 

推荐阅读