Вставьте страницу модальной бритвы в панель навигации. Как это сделать?
Я создаю новый веб-сайт, и одно из требований заключается в том, чтобы форма входа была модальным окном. Я пытаюсь включить его в верхнюю панель навигации, и он отображается только в том случае, если пользователь не вошел в систему.
Как я могу добавить это модальное окно с его собственной моделью внутри верхней панели навигации? Есть ли альтернативы?
Если я удаляю модель и оставляю пустой модальный, все работает отлично, но когда я добавляю его снова, это не работает, потому что модель страницы (в данном случае страница индекса) отличается от модели модального входа,
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() }' />