我的申请中有三个角色。我有一个索引页面,我想只能访问未注册的用户。因此,当注册用户尝试转到索引页面时,我的想法是将其重定向到他的索引页面。
我想这样做:
public ActionResult Index()
{
if (User.IsInRole("CompanyAdministrator"))
{
return RedirectToAction("Index", "CompaniesController");
}
else if (User.IsInRole("Employee"))
{
return RedirectToAction("Index", "EmployeeController");
}
return View();
因此,当我以公司管理员身份登录并尝试转到Home / Index时,重定向的内容我得到了
>应用程序中的服务器错误。无法找到资源。
,网址如下:http://localhost:49858/CompaniesController
很抱歉,如果这个问题过于主观,但我找不到这个问题的解释,我也不能自己解释。
有关此的任何提示吗?
答案 0 :(得分:2)
您不需要Controller
后缀。只需使用不带Controller
部分的控制器名称。
这应该有用。
return RedirectToAction("Index", "Companies");
MVC框架使用Controller
后缀来检测应用程序启动时的所有控制器(注册路由)。除此之外,最终用户(编码的人)通常不需要在任何地方使用完整的班级名称!
答案 1 :(得分:1)
您不需要添加' Controller'在控制器名称中。它应该是
(define test2
(let ((x (begin (display "Hello from test2") 20)))
(lambda () x)))
=> Hello from test2
(test2)
=> 20
(test2)
=> 20
(test2)
=> 20