任何人都知道如何制作一种方法(我将其放在扩展类中),该方法仅使用表达式(无魔术字符串)才能与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