2009-07-04 11 views
5

Estoy usando el motor de chispa con mi aplicación asp.net mvc. En mis páginas aspx, puedo usar con éxito Html.Actionlink, pero cuando lo intento en archivos de chispa, no aparece en intellisense, y cuando intento ejecutarlo de todos modos, obtengo:No se puede usar Html.ActionLink en asp.net mvc spark files

Compilación de vista dinámica fallida . c: \ Users \ midas \ Documents \ Visual Studio 2008 \ Projects \ ChurchMVC \ ChurchMVC \ Views \ Home \ Index.spark (73,25): error CS1061: 'System.Web.Mvc.HtmlHelper' no contiene una definición para 'ActionLink' y no se puede encontrar ningún método de extensión 'ActionLink' que acepte un primer argumento de tipo 'System.Web.Mvc.HtmlHelper' (¿falta una directiva using o una referencia de ensamblado?)

Tengo un sistema .web.mvc referenciado, y lo he agregado en _global.spark. Nada de eso ayuda. ¿Algunas ideas?

Respuesta

9

(Copiado de la respuesta de Rei Roldán en Spark discussion group)

Esto es donde viven los ayudantes.

<use namespace="System.Web.Mvc.Html" /> 
1

Tuve el mismo problema con Html.ActionLink en el diseño maestro. El motivo fue la codificación Html automática. Se solucionó configurando <pages automaticEncoding="false"> en web.config o usando! {Html.ActionLink (...)} en lugar de $ {Html.ActionLink (...)}

+0

¡Vaya! Lo siento, mezclé dos artículos, no "el mismo problema", uno diferente. – ILog

4

Es posible obtener este error incluso con la Web correcta .config declarando ActionLink con tipos de argumento incorrectos.

Ejemplo:

<%= Html.ActionLink(1, "bar") %> 

error:

Compiler Error Message: CS1928: 'System.Web.Mvc.HtmlHelper<Approval.WebSite.ViewsModels.HomeIndexPage>' does not contain a definition for 'ActionLink' and the best extension method overload 'System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper, string, string)' has some invalid arguments 

Aunque esto funciona:

<%= Html.ActionLink("foo", "bar") %> 

a fin de comprobar su margen de beneficio también.

Cuestiones relacionadas