让我说我有一个路线/动作来显示这样的内容页面:
/Page/{slug}
其中{slug}可以是访问者键入的任何内容,但如果保留为空,则默认为“默认”。
我的路由定义处理{slug}为空或Default或其他任何内容的情况,因此设置正常。
现在,在请求的slug(例如Page)不存在的情况下你会怎么做?
有人请求/ Page / xyz,我的数据存储区中不存在XYZ。
1)我应该发出404(如果是,如何?我的选项:a)重定向到默认404页面; b)没有404响应,只是一个友好的错误消息?)
2)我应该自动重定向到默认值吗?如果是这样,我是否必须发出302,301或什么?
我知道这是值得商榷的,但仍然希望就什么是最好的预制措施提出一些意见。另外,请提供几行代码,说明如何在ASP.NET MVC控制器操作中实现它。
答案 0 :(得分:1)
请参阅this主题,其中包含您案例的所有必需信息
答案 1 :(得分:1)
@zihotki链接了一个很好的页面,用于了解要发送的响应代码类型。要在ASP.NET MVC中发送它们,您需要在错误处理代码中实例化一个错误控制器,并且您的响应应该适当地设置HttpResponse.StatusCode
。