asp.net mvc:将RedirectToAction(string,object)转换为RedirectToAction< Controller>(x => x.Detail(id)) [英] asp.net mvc: make RedirectToAction(string, object) into RedirectToAction<Controller>(x => x.Detail(id))

查看:63
本文介绍了asp.net mvc:将RedirectToAction(string,object)转换为RedirectToAction< Controller>(x => x.Detail(id))的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

anybody knows how to make a method (I will put it in a extensions class) that will do the same as the mvc's RedirectToAction only using expressions (no magic strings).

所以不要写这样的东西:

So that instead of writing something like this:

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

我会这样:

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

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

I tried and did something like this but I don't know how to add the parameters:

 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

MvcContrib has it: http://mvccontrib.codeplex.com/wikipage?title=RedirectToAction

这篇关于asp.net mvc:将RedirectToAction(string,object)转换为RedirectToAction&lt; Controller&gt;(x =&gt; x.Detail(id))的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆