【发布时间】:2010-02-10 16:34:00
【问题描述】:
让我说我有一个用于显示如下内容页面的路由/操作:
/Page/{slug}
其中 {slug} 可以是访问者输入的任何内容,但如果留空则默认为“默认”。
我有我的路由定义处理 {slug} 为空或默认或其他任何情况的情况,所以设置很好。
现在,在请求的 slug(例如 Page)不存在的情况下,您会怎么做?
例如,有人请求 /Page/xyz,而我的数据存储中不存在 XYZ。
1) 我应该发出 404(如果是,怎么做?我的选择:a)重定向到默认的 404 页面; b) 没有 404 响应,只是一个友好的错误消息?)
2) 我应该自动重定向到默认值吗?如果是这样,我必须发出 302、301 还是什么?
我知道这是值得商榷的,但仍然想就什么是最好的做法提出一些意见。另外请提供几行代码,说明您将如何在 ASP.NET MVC 控制器操作中实现它。
【问题讨论】:
标签: asp.net-mvc http http-status-codes