尝试编辑不存在的项目的最佳做法?

Ste*_*ven 5 c# asp.net asp.net-mvc

我目前有这个控制器功能:

public ViewResult Edit(int id)
{
    //get user from id
    var user = _adminRepository.GetUser(id);

    return View(user);
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试编辑ID为100的项目,当数据库中没有id为100的用户时,这会在我的视图页面上出现错误.

处理此问题的最佳做法是什么?将它们发送到"创建"页面,或显示友好的错误消息?该重定向功能是否应该在控制器功能中?

Adr*_*ore 6

IMO它应该引发404错误.在所有用户请求不存在的资源之后,就像常规网页一样.


Jas*_*wne 5

我会显示一条友好的错误消息,告诉他们用户已被删除,如果他们想要重新创建用户,则提供指向"创建用户"页面的链接.

我反对将用户重定向到他们原本打算不去的任何地方,所以当他们期望进入编辑用户界面时我自动将他们重定向到创建用户界面(我假设他们是独立的)并不是最多的用户友好解决方案