Как опубликовать в 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' />