Так в настоящее время в моем файле _layout, у меня есть глобальный логин и система Регистрации, которая будет отображаться на каждой странице:Модель Интерференции с частичным
<div id="global_login_register">
<div id="login">
@Html.Partial("_LoginPartial")
</div>
<div id="register">
@Html.Partial("_RegisterPartial")
</div>
</div>
@RenderBody()
В моей loginPartial страницы у меня есть @model LoginModel и в моем реестре У меня есть @model RegisterModel. Пока все работает, но проблема в том, что когда я пытаюсь представить другую модель в View(), это мешает частичным входам. Единственный способ исправить это - использовать ViewBag и сохранить мою модель там?
Вам не следует использовать ViewBag для передачи вашей модели в ваш вид. Один из вариантов - создать ViewModel, который будет иметь ваши основные классы Model, LoginModel и RegisterModel в качестве свойств. Это зависит от того, сколько у вас разных видов. Мне нужно больше информации о вашем приложении, чтобы дать вам лучший вариант. – ataravati
Проблема с приведенным выше. Если бы у меня была другая страница контроллера, мне также пришлось бы добавить ее также в модель ViewModel. Не было бы проблемой, если бы все мои модели были в классе ViewModel? –
Нет, вы можете создать отдельный ViewModel для другого контроллера (модели). Вот почему я сказал, что это зависит от того, сколько у вас моделей/контроллеров. Но даже если у вас много контроллеров, вы можете создать BaseViewModel с LoginModel и RegisterModel в нем, а затем сделать все остальные ViewModels наследуемыми от BaseViewModel. – ataravati