Вставьте страницу модальной бритвы в панель навигации.Как это сделать? - PullRequest
0 голосов
/ 21 января 2019

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

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

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

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

1 Ответ

0 голосов
/ 21 января 2019

Частичное представление

Итак, вы создаете файл _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() }' />

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...