任何人都知道如何制作一种方法(我将其放在扩展类中),该方法仅使用表达式(无魔术字符串)才能与mvc的RedirectToAction相同。

因此,与其编写这样的代码:

 RedirectToAction("Detail",
    new RouteValueDictionary { {"messageId", messageId}});


我会这样:

this.RedirectToAction(x => x.Detail(messageId));


我尝试并做了类似的事情,但是我不知道如何添加参数:

 public static RedirectToRouteResult RedirectToAction<T>(this T controller,
     Expression<Action<T>> expression)
 {
     return RedirectToAction(
        (expression.Body as MethodCallExpression).Method.Name
     );
 }

最佳答案

MvcContrib拥有它:http://mvccontrib.codeplex.com/wikipage?title=RedirectToAction

10-01 22:47