2

RenderAction()(を返す)を使用してサブコントローラーアクションもレンダリングする親ビューがありますPartialView。例は、ログインの部分ビューを含むフロント ページです (入力: ユーザー名、パスワード、記憶、およびアクション: login )

実行プロセス

  1. GET for - ログインがサブコントローラーを指しているログインHome/Indexコントロールも表示しますUser/Login
  2. ユーザーが資格情報を入力し、ログインをクリックします
  3. POST for User/Login- 資格情報をチェックして???を返します

問題

サブコントローラーアクションから親ビューに戻るにはどうすればよいUser/Loginですか?
サブコントローラーの部分ビューはどのページでもレンダリングできるため、次のような親コントローラーアクションの結果を簡単に返すことはできません。

return new HomeController().Index();

では、サブ コントローラー アクションとその部分ビューをどのように処理すればよいでしょうか?

編集

親ルートの追加データを使用してサブコントローラー アクションにポストバックすることもできますが、サブコントローラー アクションにもデータを入力します。私の例では、誰かの資格情報が無効であることを表示する必要があります。リダイレクトするとこれらが失われます...

4

1 に答える 1

2

ログインを実行するために /User/Login に投稿する代わりに、リターン URL を追加すると、最終的に /User/Login?returnUrl=/Home/Index になります (URL エンコーディングによって少し変わる可能性があります)。

returnUrl がクエリ文字列に設定されている場合、/User/Login のアクションは、リダイレクト アクションをその returnUrl に戻す必要があります。

少しわかりにくかったらすいません

于 2009-11-25T20:35:33.707 に答える