我昨天有这个工作,为什么它停止工作完全超出了我的范围。我有以下基本场景:
我的申请中有两种类型的角色,租户和房东。当租户登录时,他们应该被引导到租户个人资料页面,房东也是如此(目前我只与租户合作)。
这是场景的工作流程:
用户通过 登录
_LoginPartial
,我确定部分中的逻辑是正确的,但由于某种原因,所以不会让我将剃须刀代码正确粘贴到此处...单击登录按钮将调用
Login
ActionResult
.AccountController
该方法验证用户并检查他们的角色。如果用户是租户角色,他们应该被重定向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 的视图。我的路由/控制器逻辑有问题吗?帮助将不胜感激。