我遇到了以下问题:
我有一些使用viewmodels的模态。例如,使用LoginViewModel验证用户输入的LoginModal。
这个(在另一个旁边)模态在_Layout.cshtml中呈现为PartialView,因为它可以在任何页面上使用:
...
Html.RenderPartial("~/Views/Shared/Modals/CartModal.cshtml");
Html.RenderPartial("~/Views/Shared/Modals/LoginModal.cshtml");
Html.RenderPartial("~/Views/Shared/Modals/AccountModal.cshtml");
...
我的起始页面使用自己的viewmodel列出事件。问题是,当尝试加载起始页时,会加载两个@ model-statements,因此应用程序崩溃。到目前为止,所有工作都是由HomeController完成的,在LoginModal中我使用的是Ajax.BeginForm。
我想知道如何解决这个问题并考虑在_Layout.cshtml中使用BaseViewModel,它包含其他视图模型。我会尝试使用
访问它们,例如,在LoginModal中@Html.EditorFor(model => model.LoginViewModel.EMail, new { htmlAttributes = new { @class = "form-control", placeholder = "EMail", @id = "inputemail" } })
这可能是解决这个问题的正确/“最佳实践”方式吗?