Как опубликовать в Razor PageModel из частичного просмотра?

Я создаю сайт, на котором есть модальные формы для входа и регистрации.

Проблема в том, что когда я пытаюсь отправить заполненную пользователем форму, OnPost соответствующих моделей бритвы не вызывается. Я также попытался использовать модели Identity в качестве моделей для представлений, и они также не называются.

Есть ли способ сделать это правильно?

1 ответ

Решение

В вашем Частичном представлении вы должны указать форму на страницу, которая имеет 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' />
Другие вопросы по тегам