在MVC 3-ASP.NET中,我正在验证控制器页面上的权限级别。如果用户有权查看该页面,那么我使用以下代码进行渲染,但如果未经授权,我不知道如何重定向到新视图
有没有人能告诉我如何显示警告说,您无权查看该页面并重定向到主页?
public ActionResult viewName()
if(userAuthorised)
{
return View()
}
else
{
//Alert Message
//Redirect to different view like Home Page..
}
请问任何例子?
谢谢
答案 0 :(得分:5)
你有2个选择。 1)创建标准错误视图并在else中返回:
else
{
ErrorModel viewModel = new ErrorModel(){Msg="Error"});
return View("Error", viewModel);
}
2)使用Redirect to Action指向另一个返回错误视图的Controller方法
else
{
return RedirectToAction("BadUser");
}
public ViewResult BadUser()
{
ErrorModel viewModel = new ErrorModel(){Msg="Error"});
return View("Error", viewModel);
}
答案 1 :(得分:2)
请参阅Controller.RedirectToAction方法
http://msdn.microsoft.com/ja-jp/library/system.web.mvc.controller.redirecttoaction.aspx