【发布时间】:2011-01-07 08:21:09
【问题描述】:
任何人都知道如何创建一个方法(我将把它放在扩展类中),它与 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
);
}
【问题讨论】:
标签: c# asp.net-mvc lambda