0

我一直在研究这个,没有运气。是否可以从类中重定向到操作。我将代码从控制器移到了一个类,因为它太长了。我想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 回答