【发布时间】:2014-02-24 08:20:13
【问题描述】:
我很想知道是否有一些通用的方法可以解决我的问题。假设我的一些操作期望传递 Id 参数,但在某些时候用户可能会尝试将字符串分配给 URL 中的 Id 参数。结果我们的动作没有被触发,并且在基类中抛出了 500 异常。有什么办法可以解决这个问题并抛出 404 异常吗?
【问题讨论】:
-
你想如何处理路由信息?配置路由
-
路由默认是Controller/Action配置的,action应该是Index(int Id)。如果我输入 URL /controller/action?id=abc,我得到 500 异常
-
我以前没试过,但是你能设置一个单独的路由规则,它接受一个字符串,然后从规则路由到的操作中返回一个 404 吗?
-
嗨,一般来说这应该可以。另一件事是,如果我有 250 条路线,为每条路线创建另外 1000 条路线,并带有几个参数……可以有一些通用的解决方案吗?在基类的某个地方发现这个问题??
-
好的,是的,那样的话就不太实用了。您可能可以在路由领域的某个地方扩展一些东西来改变默认行为,但我从来没有涉足过。希望有更多知识的人加入。
标签: asp.net-mvc http-status-code-404