ユーザーが認証済みページにアクセスしようとすると、ログオン ページにリダイレクトされます。ログオン アクションは次のとおりです。
コントローラ アクション
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
//Authentication codes goes here .......
}
ログオン ビュー:
@using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { @class = "jmenu" }))
{
// Form for login codes goes here......
}
問題: LogOn View で Html.BeginForm() にパラメーターを入れなかった場合、思い通りに動作します。ログイン後に、ユーザーが認証のためにログインにリダイレクトされるページにページがリダイレクトされます。しかし、上記のようにパラメーターを渡すと、ログイン後にホームページにリダイレクトされます。ここでは、returnUrl が LogOn アクションに渡されていないことが原因である可能性があります。LogOn アクションの Html.BeginForm で returnUrl パラメータを渡すにはどうすればよいですか。または、ビューを変更せずに LogOn アクションを変更して、他のビューのコードを変更する必要がないようにすることは可能ですか? 御時間ありがとうございます...