Bueno, si estás en el controlador, sabes a qué acción se está llamando. Supongo que tiene una clase que se usa en el controlador que necesita comportarse de manera diferente en función de la acción que se está convocando. Si ese es el caso, entonces pasaría una representación de cadena de la acción en el objeto que necesita esta información desde dentro del método de acción. Un código de muestra de usted realmente aclararía lo que necesita hacer. Aquí hay un código de muestra que estoy pensando:
public ActionResult TestControllerAction()
{
var action = new TestControllerAction();
var objectWithBehaviorBasedOnAction = new MyObjectWithBehaviorBasedOnAction();
objectWithBehaviorBasedOnAction.DoSomething(action);
}
public class MyObjectWithBehaviorBasedOnAction: IMyBehaviorBasedOnAction
{
public void DoSomething(IControllerAction action)
{
// generic stuff
}
public void DoSomething(TestControllerAction action)
{
// do behavior A
}
public void DoSomething(OtherControllerAction action)
{
// do behavior b
}
}
public interface IMyBehaviorBasedOnAction
{
void DoSomething(IControllerAction action);
}