. net Core MVC Частичное представление не отображается при вызове другой индексной страницы в моем проекте - PullRequest
1 голос
/ 12 февраля 2020

Привет. Пожалуйста, помогите мне столкнуться со странной проблемой здесь ...

Мой частичный вид загружается правильно, когда я запускаю свой проект, он помещается в общие виды в _Layout под "_RegisterPartial" внутри этого частичного вида. У меня есть два другие частичные представления "_Login" и "_Register" (используйте их во всплывающих модальных окнах), кажется, они нормально загружаются, когда я нахожусь на домашней странице индекса. Затем проблема начинается, когда я получаю доступ к другой странице индекса с другого контроллера, а затем проект будет жаловаться на другую модель, ожидаемую в частичных представлениях. помогите пожалуйста

                                <button class="btn header-btn-collapse-nav" data-toggle="collapse" data-target=".header-nav-main nav">
                                        <i class="fas fa-bars"></i>
                                    </button>
                                </div>

                                <partial name="_LoginPartial" />
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </header>
    </div>

Внутри этого частичного представления


    <div class="header-nav-features header-nav-features-no-border header-nav-features-lg-show-border order-1 order-lg-2">
        <div class="header-nav-feature header-nav-features-user d-inline-flex mx-2 pr-2 signin" id="headerAccount">
            <a href="#" class="header-nav-features-toggle">
                <i class="far fa-user"></i> Sign In
            </a>
            <div class="header-nav-features-dropdown header-nav-features-dropdown-mobile-fixed header-nav-features-dropdown-force-right" id="headerTopUserDropdown">
                <partial name="_Login" />

                <partial name="_RegisterPartial" />

мой логин частичный

@model FSTC.Areas.Identity.Pages.Account.LoginModel

For my register partial view head I use
@model FSTC.Areas.Identity.Pages.Account.RegisterModel

Снимок экрана

Ошибка Я получаю

InvalidOperationException: The model item passed into the ViewDataDictionary is of type 'FSTC.ViewModel.DetailsView', but this ViewDataDictionary instance requires a model item of type 'FSTC.Areas.Identity.Pages.Account.LoginModel'.

1 Ответ

0 голосов
/ 13 февраля 2020

InvalidOperationException: элемент модели, передаваемый в ViewDataDictionary, имеет тип 'FST C .ViewModel.DetailsView', но для этого экземпляра ViewDataDictionary требуется элемент модели типа 'FST C .Areas.Identity.Pages. .Account.LoginModel '.

Ваше частичное представление ожидает модель типа LoginModel, но вы не указали ее при обращении к частичному представлению из родительского представления, поэтому страница по умолчанию отправляет Родительская модель для вашего частичного представления, которое вызывает вашу ошибку.

Пожалуйста, проверьте, для какого частичного представления нужна модель типа 'LoginModel' и проверьте, для какого родительского представления нужна модель типа 'DetailsView'. :

@await Html.PartialAsync("_YourPartial",new LoginModel())

Ссылка: { ссылка }

...