首页新闻找找看学习计划

MVC过滤器中定义了 new RedirectResult("/Error.html")咋不跳转呢?

0
悬赏园豆:10 [待解决问题]

求大神指教~这个到底哪错了,做天就出这个BUG了,换成Response.Redirect();这种写法能实现跳转,但是这样写会执行后面的方法,所以不想用这种。求大神帮帮忙,到底怎么整呢?

问题补充:

问题解决了,加上一句

filterContext.ExceptionHandled = true;//告诉它已处理异常

这样就可以跳转了

不然系统会继续处理异常 不实现跳转。

最后还是谢谢下面两位园友的耐心解答~

shuai7boy的主页 shuai7boy | 初学一级 | 园豆:193
提问于:2016-05-13 11:14
< >
分享
所有回答(3)
0

Redirect(String, Boolean)

你看,有个参数是执行是否应终止

刘宏玺 | 园豆:14004 (专家六级) | 2016-05-13 11:26

嗯 Response.Redirect();第二个参数设置为true就终止了。但是new RedirectResult("/Error.html")

这个应该也能跳转,但没有跳转,咋解呢?

支持(0) 反对(0) shuai7boy | 园豆:193 (初学一级) | 2016-05-13 11:50

@shuai7boy: 看样子你的代码出错了

支持(0) 反对(0) 刘宏玺 | 园豆:14004 (专家六级) | 2016-05-13 13:01
0

filterContext.Result = View(url);

这样写试试

心怀宇宙 | 园豆:622 (小虾三级) | 2016-05-13 11:48

没这个语法吧?

支持(0) 反对(0) shuai7boy | 园豆:193 (初学一级) | 2016-05-13 12:07

@shuai7boy: 

filterContext.Result = View(url);

protected ViewResult ErrorView(string url)
{
return View(url);
}

这样,mvc有这个

支持(0) 反对(0) 心怀宇宙 | 园豆:622 (小虾三级) | 2016-05-13 12:13

@双子rain: 提示上下文中不存在名称View。可不可以把你写的案例那块截个图啥的

支持(0) 反对(0) shuai7boy | 园豆:193 (初学一级) | 2016-05-13 12:25

@shuai7boy: 就是这样写的啊,你引用using System.Web.Mvc;了吗?

支持(0) 反对(0) 心怀宇宙 | 园豆:622 (小虾三级) | 2016-05-13 12:28

@shuai7boy: 我的是下面这样

protected ViewResult ErrorView(string message)
{
return View("error", new PromptModel(message));
}

支持(0) 反对(0) 心怀宇宙 | 园豆:622 (小虾三级) | 2016-05-13 12:30
0

这样子呢?filterContext.HttpContext.Response.RedirectPermanent("/error.html");

DZCMS | 园豆:6 (初学一级) | 2018-02-08 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册