0

我有一个简单的 MVC 应用程序 - 员工列表、删除员工的按钮和登录屏幕

当用户按下按钮删除员工时,他们被要求登录

这会将它们从 EmployeeController 带到处理登录的 AccountController。returnUrl 也传递给它。用户成功通过身份验证,Account 控制器转到 Redirect 到 ReturnUrl,这就是它抛出 404 的地方。

returnUrl = /Employees/Delete/127 - 员工的 ID。据我所见,这是在控制器和 RouteConfig 中正确配置的。

当我删除 [Authorise] 属性时,它工作得很好。所以我怀疑它必须与重定向有关,但我不明白为什么?

编辑:我还在视图中使用 FormMethod.Post 尝试了 HttpPost,但它没有任何区别,但是在离开登录后我不知道它是 os post 还是 get - 或者重定向到返回 url 是否会生成一个 Get 和不是帖子?

再次编辑:考虑到这一点,它可能不是一个好的设计。我要求用户在按下删除按钮后进行授权。除非它们已经被授权,否则我可能不应该公开删除按钮,但无论如何都可以这样做吗?

404错误

具有重定向的帐户控制器

查看生成删除按钮

具有删除操作的员工控制器

生成的html

路由配置

4

2 回答 2

2

我认为这可能是因为 Delete 操作是HttpPost并且在重定向时您正在向Employee/Delete发出GET

于 2012-10-23T03:03:19.730 回答
0

将 [HttpPost] 属性更改为 [HttpGet]。重定向将调用 Get 方法

于 2013-11-08T20:40:32.313 回答