2012-06-12 2 views
1

컨트롤러 확장에 RedirectToAction을 만드는 방법내가 확장을 만들려고

RedirectToAction("Index")에 대한
public static ActionResult RedirectToIndexAction(this Controller controller) 
     { 
      return RedirectToAction("Index"); 
     } 

만든다 RedirectToIndexAction();

답변

1

방법 등의 아래에 대해 뭔가 :

public static RedirectToRouteResult RedirectToAction<TController>(this Controller controller, Expression<Action<TController>> action, object routeValues) where TController : Controller 
    { 
     RouteValueDictionary routeValuesFromExpression = ExpressionHelper.GetRouteValuesFromExpression(action); 

     var routeValueDictionary = new RouteValueDictionary(routeValues); 
     foreach (KeyValuePair<string, object> keyValuePair in routeValueDictionary) 
     { 
      routeValuesFromExpression.Add(keyValuePair.Key, keyValuePair.Value); 
     } 
     return new RedirectToRouteResult(routeValuesFromExpression); 
    } 


    private RedirectToRouteResult RedirectToIndex() 
    { 
     return this.RedirectToAction<MyController>(c => c.Index(), new { Area = "" }); 
    } 
관련 문제