У меня это работало вчера, и я совершенно не понимаю, почему он перестал работать. У меня следующий базовый сценарий:
В моем заявлении есть два типа ролей: Арендатор и Арендодатель. Когда Арендатор входит в систему, он должен быть направлен на страницу профиля Арендатора, то же самое касается Арендодателя (на данный момент я работаю только с Арендаторами).
Вот рабочий процесс сценария:
Пользователь входит в систему через
_LoginPartial
, я уверен, что логика в партиале верна, но по какой-то причине ТАК не позволяет мне правильно вставить сюда код бритвы ...Нажатие кнопки входа вызывает
Login
ActionResult
вAccountController
. Этот метод проверяет пользователя и проверяет, в какой роли он находится. Если пользователь находится в роли Tenant, он должен быть перенаправлен наMyProfile
ActionResult
вTenantsController
. Код дляLogin
:public ActionResult Login(LoginModel model) { if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) { if (Roles.IsUserInRole("Tenant")) { return RedirectToAction("MyProfile", "Tenants"); } } // If we got this far, something failed, redisplay form ModelState.AddModelError("", "The user name or password provided is incorrect."); return View(model); }
После вызова
MyProfile
должен отобразить профиль пользователя. Код дляMyProfile
ActionResult
:public ActionResult MyProfile() { var db = new LetLordContext(); var currentTenant = db.UserProfile.First(t => t.UserName == HttpContext.User.Identity.Name); return View(currentTenant); }
Как я уже сказал, вчера это работало, но при нажатии кнопки входа на _RegisterPartial
появляется следующая ошибка:
Представление «Логин» или его главное устройство не было найдено, либо механизм представления не поддерживает найденные местоположения. Был произведен поиск в следующих местах: ~ / Views / Account / Login.aspx ~ / Views / Account / Login.ascx ~ / Views / Shared / Login.aspx ~ / Views / Shared / Login.ascx ~ / Views / Account / Login. cshtml ~ / Views / Account / Login.vbhtml ~ / Views / Shared / Login.cshtml ~ / Views / Shared / Login.vbhtml
Почему MVC ищет представление под названием Login? Я не указал его для перехода к представлению с именем Login. Что-то не так с моей логикой маршрутизации / контроллера? Помощь будет очень признательна.