2011-12-17 16 views
9

Bueno, creo que el equipo ASP.NET MVC lanzó un error bastante significativo en la vista previa del desarrollador para asp.net mvc 4, o estoy haciendo algo estúpido ... Aquí está el problema y los pasos para reproducir.ASP.NET MVC 4 Dev Preview Razor en Secciones Error

  1. Crear una nueva aplicación móvil MVC 4
  2. crear una nueva sección en la disposición (ex. @RenderSection ("cabeza", false))
  3. en la acción del controlador a un tiro de un mensaje en el ViewBag
  4. Luego, en una vista que utiliza el diseño principal, agregue el siguiente código a continuación.
@section head { 
    $(function() { 
     var newVariableName = "@(ViewBag.Message)"; 
    }); 
} 

Se dará cuenta de que el analizador de afeitar realmente piensa que la sección se ha completado para el jQuery El dom cargado terminando refuerzo en lugar de refuerzo de poner fin a la sección. Probé exactamente el mismo código en una aplicación asp.net MVC 3 y funcionó sin problemas.

¿Alguien más ha encontrado este error en ASP.NET MVC 4 Developer Preview?

+0

sí, yo! tienes código javascript incompleto como salida, ¿verdad? – tugberk

+0

Sí, básicamente lo considera terminado. ¿Cómo se lanzó este avance de desarrollador con un error tan ridículo? Además, ¿cómo nadie ha publicado algo al respecto? –

+0

Intenté publicar esto, pero siempre pensé que el problema estaba en mi código (mi código de JavaScript era un poco complicado). Quiero decir que es una vista previa del desarrollador, no se puede esperar mucho. Además, no tienes una licencia de puesta en marcha. ¿Lo sabes bien? Si dev. La vista previa explota tu máquina, está sobre ti, no sobre MSFT. – tugberk

Respuesta

6

Un truco rápido para resolver este problema es usar < texto> bloques </text> alrededor del script java. Esto es lo que podría parecer hasta que el equipo ASP.NET MVC resuelva este error.

@{ 
<text> 
    $(function() 
    { 
     var newVariableName = "@(ViewBag.Message)"; 
    }); 
</text> 
} 
0

Como se mencionó anteriormente, intente esto en su archivo cshtml ...

@section head { 
@{ 
    function JSMeth1() 
    { 
     // doing your stuff, razor parser wont suck 
    } 
}} 
Cuestiones relacionadas