0

私はこれを研究してきましたが、運がありません。クラスから redirectToAction することは可能ですか。コードが長すぎるため、コードをコントローラーからクラスに移動しました。コントローラーで redirectToAction を使用し、このメソッドを使用したいと思います。

 return RedirectToAction("CreateReportFile", "Home", new { result = strObj.ToString() });
4

1 に答える 1

0

RedirectToActionはコントローラーのメソッドであるため、コントローラーのインスタンスをクラスに渡す必要があります。

public ActionResult Foo()
{
    var myClass = new MyClass(this);
    return myClass.Bar();
}

私はそれを良いコードとは呼びません。代わりに、クラスのメソッドからの戻り値を処理できます。

public ActionResult Foo()
{
    var myClass = new MyClass();
    var result = myClass.Bar();

    if (result == "baz") // bool, Enum, whatever you like
    {
        return RedirectToAction(
            "CreateReportFile",
            "Home",
            new { result = myClass.StrObj.ToString() }
            );
    }
    else
    {
        //
    }
}
于 2013-10-01T19:22:36.350 に答える