これはかなり一般的なシナリオのように見えるため、かなり詳しく文書化する必要があると思いました。残念ながら、私は多くの矛盾する情報を見つけており、MVC 3 と互換性のある目立たない Ajax のような方法でこれを行う正しい方法についての実際のコンセンサスはありません。私は確かに「機能する」ものを一緒にハックすることができますが、フレームワークを介して行われるはずの方法でそれを行うことをお勧めします。
これが私が必要とするものです。サイトの右上隅にログイン リンクがあります。このサイトでは、認証されたユーザーと認証されていないユーザーの両方が許可されます。したがって、ユーザーがログインリンクをクリックしたときに動的な ajax ポップアップが必要です。
これはコントローラに送信され、ログイン ダイアログの HTML がプルバックされます。次に、jquery ui ポップアップ ダイアログに表示し、ユーザーが情報を入力すると、(現在どのページにいるかに関係なく) 「ダッシュボード」ページにリダイレクトする必要があります。間違った資格情報を入力すると、ポップアップ ダイアログが開いたまま現在のページに留まり、検証エラー (「ユーザー名またはパスワードが正しくありません」) が表示されます。
つまり、mvc 3 控えめな検証に結び付け、控えめな ajax を使用し、jquery ui ダイアログに表示する必要があります。
これは、私が思っていたよりも簡単ではないようです。これを行う例へのポインタはありますか? 誰でも共有できるサンプルを持っていますか?
アップデート:
リダイレクトが必要な場合は、Ajax にしないというのが常識です。ただし、この場合、ページの更新や別のログイン ページへのリダイレクトを発生させずにクレジットを検証し、検証エラーを投稿する必要があるため、Ajax が必要です。認証を通過してポップアップダイアログにエラーを投稿する必要があります。