重定向到类中的操作

时间:2013-10-01 19:15:25

标签: asp.net-mvc-3

我一直在研究这个并没有运气。是否可以从类重定向ToAction。我将我的代码从我的控制器移到了一个类,因为它太长了。我想重定向ToAction并在我的控制器中使用此方法。

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

1 个答案:

答案 0 :(得分: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
    {
        //
    }
}