2011-10-18 17 views
6

He creado un archivo global .cshtml Razor en la carpeta App_Code de mi proyecto MVC para declarar las funciones de @helper. El problema es que no puedo usar Html.ActionLink (u otras extensiones) en las funciones auxiliares. Intenté importar las clases a través de @using pero eso no funcionó. ¿Algunas ideas?Html.ActionLink no se puede utilizar en Global Razor helper

+1

vea esta pregunta - http://stackoverflow.com/questions/4710853/using-mvc-htmlhelper-extensions-from-razor-declarative-views –

Respuesta

7

Se podría añadir la siguiente línea a su ayudante, para definir Html

var Html = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html; 

(Copied from this answer)

+0

Tha Nks, lástima que no hay una solución más agradable :) – Marthijn

2

En relación con la respuesta aceptada, para hacer @Html disponible en todo el archivo de ayuda:

@using System.Web.Mvc.Html 

... 

@functions { 

    protected static new System.Web.Mvc.HtmlHelper Html 
    { 
     get 
     { 
      return ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html;  
     } 
    } 
} 
Cuestiones relacionadas