0

単純なMVCアプリケーションがあります-従業員のリスト、従業員を削除するためのボタン、およびログイン画面

ユーザーがボタンを押して従業員を削除すると、ログインが要求されます

これにより、それらはEmployeeControllerからログインを処理するAccountControllerに移動します。returnUrlもこれに渡されます。ユーザーは正常に認証され、アカウントコントローラーはReturnUrlにリダイレクトされ、ここで404がスローされます。

returnUrl = / Employees / Delete/127-従業員のID。私が見る限り、これはコントローラーとRouteConfigで正しく構成されています。

[Authorise]属性を削除すると、問題なく機能します。だから私はそれがリダイレクトにあるに違いないと思うが、私は理由がわからないのですか?

編集:ビューでFormMethod.Postを使用してHttpPostも試しましたが、違いはありませんでしたが、ログインを終了した後、それがpostまたはgetであるかどうかはわかりません-または、戻りURLにリダイレクトしてGetと投稿ではありませんか?

もう一度編集:これについて考えると、おそらく良いデザインではありません。ユーザーが削除ボタンを押した後、承認するようにユーザーに要求しています。すでに承認されていない限り、削除ボタンを公開するべきではありませんが、とにかく行うことは可能ですか?

404エラー

リダイレクト付きのアカウントコントローラー

削除ボタンを生成するビュー

削除アクションを持つ従業員コントローラー

生成されたhtml

ルート構成

4

2 に答える 2

2

これは、削除アクションがHttpPostであり、リダイレクトするときにGETEmployee/Deleteに発行していることが原因である可能性があります。

于 2012-10-23T03:03:19.730 に答える
0

[HttpPost]属性を[HttpGet]に変更します。リダイレクトすると、Getメソッドが呼び出されます

于 2013-11-08T20:40:32.313 に答える