Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试编辑不符合';不存在?_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 尝试编辑不符合';不存在?

C# 尝试编辑不符合';不存在?,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我目前拥有此控制器功能: public ViewResult Edit(int id) { //get user from id var user = _adminRepository.GetUser(id); return View(user); } 当数据库中没有id为100的用户时,如果我试图编辑id为100的项目,则当前在查看页面上会出现错误 处理这个问题的最佳做法是什么?将它们发送到创建页面,或显示友好的错误消息?重定向功能是否应该在控制器功能中?我认为您应

我目前拥有此控制器功能:

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

    return View(user);
}
当数据库中没有id为100的用户时,如果我试图编辑id为100的项目,则当前在查看页面上会出现错误


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

我认为您应该重定向它们,以创建一个页面,其中包含有关重定向原因的额外信息。

在我看来,它应该会引发404错误。毕竟,用户请求的是一个不存在的资源,就像普通网页一样

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


我反对将用户重定向到他们原本不想去的任何地方,因此当他们希望转到编辑用户屏幕时自动将他们重定向到创建用户屏幕(我假设他们是分开的)并不是最方便用户的解决方案。

根据您对@RPM1984的回复,我认为您的问题在于更新操作,因为您已经打开了视图。我建议你重定向到友好的错误页面,说“你试图更新的用户不存在。”当你点击保存,然后发现用户不存在了。通过链接返回到您的网格并查看最新的用户集

此页面对某些用户也很有帮助,他们可能会尝试直接访问url,而不是使用您的网格

i、 e

有些人可能会打字

其中215215132是您的用户标识


我只是假设你就是这样做的。

同意。网站上的任何内容都不应该链接到此页面(因为它不存在),因此,访问此页面的唯一方法是手动。应该是404。@RPM1984-我的想法是我有一个用户网格,每个用户都有一个编辑按钮。我们遇到了一些用户被用户删除的问题,然后有人点击了他们打开的网格页面上的编辑按钮,造成了一个错误。@史提芬:在这种情况下,你应该考虑定期更新客户端上的网格,以完全避免问题。这里所有邪恶的根源似乎是一个过时的网格。同意-比404更有用!