首页 新闻 会员 周边 捐助

asp.net mvc能不能请求某个Controller的所有action时都统一跳转到某个页面

0
[已解决问题] 解决于 2014-04-04 09:33

asp.net mvc能不能请求某个Controller的所有action时都统一跳转到某个页面

拖鞋王子的主页 拖鞋王子 | 初学一级 | 园豆:38
提问于:2014-04-03 17:26
< >
分享
最佳答案
1

在你的Action里这样写

public ActionResult ActionName()
        {
            return RedirectToAction("ActionName", "ControllerName");
        }

奖励园豆:5
king2003 | 初学一级 |园豆:161 | 2014-04-03 18:38

不是某个ActionResult ,是有所有ActionResult 

拖鞋王子 | 园豆:38 (初学一级) | 2014-04-03 19:53

@拖鞋王子: 那就创建个BaseController,在OnActionExecuting里执行统一的跳转,相当于登录检验功能,如:

public class BaseController : Controller
    {
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
                base.OnActionExecuting(filterContext);

                string ReturnUrl = "/account/login.html"; //特定页面
                filterContext.Result = new RedirectResult(ReturnUrl);
        }

        protected override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            base.OnActionExecuted(filterContext);
        }

        protected override void OnException(ExceptionContext filterContext)
        {
            base.OnException(filterContext);
            filterContext.ExceptionHandled = true;
            filterContext.Result = new RedirectResult("~/Error/HttpError.html");
        }

然后在你的那个controller继承这个基controller,就可以实现该controller下的所有action都跳转到特定页面了.

king2003 | 园豆:161 (初学一级) | 2014-04-04 09:28
其他回答(2)
0

路由.把能要过滤的那个控制器指定到其它action

吴瑞祥 | 园豆:29449 (高人七级) | 2014-04-03 17:33

不是很懂 求代码

支持(0) 反对(0) 拖鞋王子 | 园豆:38 (初学一级) | 2014-04-03 17:38

@拖鞋王子: 这个````你那是MVC几的,路由会改不?

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-04-03 18:03

@吴瑞祥: 4的

支持(0) 反对(0) 拖鞋王子 | 园豆:38 (初学一级) | 2014-04-03 19:53
0

加个中间件(fliter过滤)将所有请求转到指定的action,不知道是否正确理解了你的题目~ 

andy1987 | 园豆:490 (菜鸟二级) | 2014-04-04 09:22

怎么加过滤器,我新手,- -

支持(0) 反对(0) 拖鞋王子 | 园豆:38 (初学一级) | 2014-04-04 09:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册