首页 新闻 会员 周边

mvc 404

0
悬赏园豆:5 [已解决问题] 解决于 2013-11-19 01:21

在地址栏输入一个不存在地址 比如http://www.test.com/123/123/123

不存在这个control也不存在这个action 页面就会直接显示404 notfound 我basecontrol里重写了onexception方法 但是捕捉不到这个404 可能是没有匹配到control就没进onexception 请问大虾们怎么处理的

Ganler1988的主页 Ganler1988 | 初学一级 | 园豆:3
提问于:2013-11-17 16:25
< >
分享
最佳答案
0

神马意思,这是IIS处理的吧

收获园豆:1
大芝麻 | 初学一级 |园豆:4 | 2013-11-17 17:16

IIS 怎么处理

Ganler1988 | 园豆:3 (初学一级) | 2013-11-17 17:16

@Ganler1988: 不存在的页面IIS是返回这个404错误的吧不是你程序返回的吧

大芝麻 | 园豆:4 (初学一级) | 2013-11-17 17:18

@大芝麻: 我在本地调试 还没上IIS

Ganler1988 | 园豆:3 (初学一级) | 2013-11-17 17:24

@Ganler1988: 本地调试VS也帮你启动了一个临时IIS的

大芝麻 | 园豆:4 (初学一级) | 2013-11-17 17:25

@大芝麻: 是有这个 就是不知道在程序里什么地方去捕获这个错误

Ganler1988 | 园豆:3 (初学一级) | 2013-11-17 18:57
其他回答(4)
0

你既然用的MVC, 搞一个catch-all的route放在最后,将这么path映射到一个专门的404 action就可以了吧

收获园豆:1
Todd Pointer | 园豆:379 (菜鸟二级) | 2013-11-17 18:48
0

没有demo吗

angelshelter | 园豆:9887 (大侠五级) | 2013-11-17 20:54

jiushi zai 地址栏随便输入一个不存在的地址 然后就会404  我想拦截这个404 

支持(0) 反对(0) Ganler1988 | 园豆:3 (初学一级) | 2013-11-17 21:12
0

这个在路由阶段都已经错误了,到不了Controller这一层级。你可以在Global中写 private void Application_Error(object sender, EventArgs e){}来捕捉全局异常。

收获园豆:1
幻天芒 | 园豆:37175 (高人七级) | 2013-11-18 09:43
0

web.config可以配置错误页。

收获园豆:1
guwoow | 园豆:611 (小虾三级) | 2013-11-18 10:13

OK  解决了

支持(0) 反对(1) Ganler1988 | 园豆:3 (初学一级) | 2013-11-19 01:20

@Ganler1988: 麻烦问一下园主如何解决这问题的,我也碰到了虽然不影响使用但但是会有报错

支持(0) 反对(0) decodedididi | 园豆:205 (菜鸟二级) | 2015-11-10 10:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册