Вставьте страницу модальной бритвы в панель навигации. Как это сделать?

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

Как я могу добавить это модальное окно с его собственной моделью внутри верхней панели навигации? Есть ли альтернативы?

Если я удаляю модель и оставляю пустой модальный, все работает отлично, но когда я добавляю его снова, это не работает, потому что модель страницы (в данном случае страница индекса) отличается от модели модального входа,

PS Я использую Razor Pages и ASP.NET Core 2.2.

1 ответ

Решение

Частичный вид

Итак, вы делаете _LoginPartial.cshtml файл. и скажем, вы установили @model LoginViewModel

Внутри этого _LoginPartial.cshtml у вас есть свой модальный логин и все функциональные возможности.

Теперь, когда вы вызываете свой частичный внутри Index страница с моделью @model AnotherModelВам нужно передать новую модель в частичное, например, так:

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

name это имя твоего cshtml стр.

model это @model страницы.

Подробнее здесь

Просмотр компонентов

Если быть кратким, если вы выберете этот путь, это, по сути, похоже на вложение маленького контроллера внутри вашей страницы. Позволяя вам изменить область для вашего @model,

Узнайте больше о Просмотр компонентов

Обновление для вложенных объектов

Вам нужно создать экземпляр свойства объекта.

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

Другие вопросы по тегам