6

ログインページに使用しようとしています。

if (Session["UserID"] == null)
     Server.Transfer("/Account/Login", true);

しかし、例外が発生します->子リクエスト/アカウント/ログインの実行中にエラーが発生しました。

4

3 に答える 3

10

これをして!

        return new MVCTransferResult(...);

私の回答(リンク)と受け入れられた回答をご覧ください。

于 2009-11-11T01:42:11.783 に答える
9

サーバー転送方法を使用するには、Simon Weaver からこれを見ることができますが、質問のコンテキストでは、代わりにリダイレクト アクションを使用します。

RedirectToAction(new {
   controller="Account", 
   action="Login"
});

ログインコントローラーにどこに戻って試行するかを伝える

RedirectToAction( new {
   controller="Account",
   action="Login",
   new RouteValueDictionary { 
      {"actionToGoBackTo", "theActionName"},
      {"controllerToGoBackTo", "theControllerName"}
   }); 

Login アクションは、actionToGoBackTo と controllerToGoBackTo の 2 つの文字列引数を取る必要があることに注意してください。

于 2009-05-11T08:49:56.433 に答える
5

Server.Transfer で求めているものとまったく同じ結果が得られるはずです。

public ActionResult Index() {
    ......
      var url = "/MyContoller?param=xxx";
      Server.TransferRequest(url, true);
      return new EmptyResult();
}
于 2015-07-10T21:40:16.450 に答える