簡體   English   中英

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))

任何人都知道如何創建一個方法(我將它放在擴展類中),它將使用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

http://www.clariusconsulting.net/blogs/kzu/archive/2008/04/07/59274.aspx

此外,我相信當1.0出現時,他們將類型安全的HtmlHelper擴展轉移到了MVC Futures組件中,但我現在似乎無法找到它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM