如何从局部视图 post 到 Razor PageModel?

How to post to a Razor PageModel from partial view?

我正在构建一个具有模式登录和注册表单的网站。

问题是当我尝试提交用户填写的表单时,没有调用相应剃须刀型号的 OnPost。我还尝试使用身份模型作为视图的模型,但这些模型也没有被调用。

有没有办法正确地做到这一点?

在您的局部视图中,您需要将表单指向具有 OnPost 句柄的页面。

<form asp-page="/YourPage" method="post">
     ...inputs...
     <button type="submit">Submit</button>
</form>

确保您的 OnPost 像这样接受视图模型的参数:

OnPost(MyViewModel vm)

意识到你是在这个之后来的

假设您的剃须刀页面中有 LoginViewModel 作为 属性。

而不是使用

<partial name="_LoginPartial" 
      model='new LoginViewModel { InputModel = new InputModel() }' />

您想使用

<partial name="_LoginPartial" for='LoginViewModel' />