Asp.net mvc 3 重定向到类中的操作

Asp.net mvc 3 重定向到类中的操作,asp.net-mvc-3,Asp.net Mvc 3,我一直在研究这件事,但运气不好。是否可以从类重定向到操作。我将代码从控制器移动到类中,因为它太长了。我想重定向到操作并在我的控制器中使用此方法 return RedirectToAction("CreateReportFile", "Home", new { result = strObj.ToString() }); RedirectToAction是控制器上的一个方法,因此需要将控制器实例传递给类: public ActionResult Foo() { var myClass

我一直在研究这件事,但运气不好。是否可以从类重定向到操作。我将代码从控制器移动到类中,因为它太长了。我想重定向到操作并在我的控制器中使用此方法

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

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
    {
        //
    }
}
但我不认为那是好代码。您可以改为对类中方法的返回值执行操作:

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
    {
        //
    }
}

这没有道理。你能解释一下你想要实现什么,以及为什么你认为你需要从一个类而不是一个控制器重定向吗?