2013-12-11 6 views
3

Я использую ASP.NET MVC 3 вместе с MvcContrib v 3. MvcContrib имеет расширение UrlHelper, которое я пытаюсь использовать на мой взгляд. Код расширения выглядит следующим образом:Невозможно вызвать общий Url.Action <TController> method from View

public static class UrlHelperExtensions 
{ 
    public static string Action<TController>(this UrlHelper urlHelper, Expression<Action<TController>> expression) 
    where TController : Controller 
    { 
     return LinkBuilder.BuildUrlFromExpression<TController>(urlHelper.RequestContext, urlHelper.RouteCollection, expression); 
    } 
} 

Однако, ASP.NET MVC не кажется, как и любой синтаксис, я стараюсь при использовании метода на мой взгляд.

enter image description here

ответ

4

Окружите его с @(). Вы не можете использовать дженерики в Razor вне блока @(). Это будет выглядеть так:

@(Url.Action<TController>(c => c.YourAction()) 
+1

Удивительный, спасибо – contactmatt