none
Error en codigo javascript RRS feed

  • Pregunta

  • Tengo un proyecto en vs2012 y estoy usando ASP.NET MVC4.

    En mi controlador lo que hago es pasarle a la vista una List<String> que contiene codigo javascript

    El codigo es el siguiente:

    List<String> mi_codigo = new List<String>();        
    mi_codigo.Add("<script type='text/javascript'> $('.default-date-picker').datepicker({ dateFormat: 'dd/mm/yy'});</script>");

    ViewData["mi_codigo"] = mi_codigo;

    En la vista lo que hago es:

    @foreach (var s in @ViewData["mi_codigo"] as List< string>)
    {
           @s       
    }

    Con esto al ejecutar la página no incluye ese javascript poniendo como resultado:

    &lt;script type=&#39;text/javascript&#39;&gt; $(&#39;.default-date-picker&#39;).datepicker({ dateFormat: &#39;dd/mm/yy&#39;});&lt;/script&gt;

    ¿Que error es el que tengo?

     

    martes, 6 de mayo de 2014 9:55

Todas las respuestas

  • pero para que haces eso?

    generar script desde el action es una pesima idea porque alli estas mezclando responsabilidades el controlador y las action no deberian saber que es html ni nda que tenga que ver con la view

    porque no defines quizas algunos bool que indiquen que seccion se renderiza o no

    pero poner codigo html en propiedades del modelo es pesimo, recuerda no estas en asp.net, estas en mvc y cada parte tienes responsabilidades que deberias respetar

    ----

    ademas recuerda que por defecto asp.net mvc aplica un endode cuando usas el @

    tendrias que usar el@Html.Raw()

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 6 de mayo de 2014 12:55
  • Gracias por tu respuesta, la he probado y no me funciona.

    Utilizo eso porque utilizo un mismo pie de página como una vista parcial y le paso a esa vista desde el controlador los script que utilizan cada una de mis vista de ahi el uso

    Un saludo,

    martes, 6 de mayo de 2014 13:52
  • Perdona Leandro,

    Se me habia olvidado ponerla @, funciona perfectamente

    Un saludo,

    martes, 6 de mayo de 2014 14:14
  • pero porque pones los script en el pie de pagina ?

    porque no defines estos en la view de cada vista

    es mas podrias definir una section si es que usas algun layout para poner alli esos script

    digo hay formas mejores de hacer lo que planteas y no generando codigo html desde el controller

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 6 de mayo de 2014 14:36