Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

222
Vistas
Caracteres Javascript, Razor y Escape. como apóstrofe

Estoy usando Razor en mi proyecto MVC3. Y también estoy usando el complemento FullCalendar JQuery. Entonces, cuando intento llenar la matriz, funciona bien. Excepto una cosa. Si s.Name contiene un apóstrofe, se representa como ' eso no es lo que quiero. Traté de usar diferentes métodos como Encode y Decode e incluso MvcHtmlString.Create y el resultado es siempre el mismo.

Aquí está el fragmento de código:

 <head> <script type='text/javascript'> $(document).ready(function () { $('#calendar').fullCalendar({ header: { left: '', center: 'title', right: 'month,agendaWeek,agendaDay' }, month: 5, year: 2011, editable: false, events: [ @foreach (var s in ViewBag.Sessions) { @:{ @: title: '@s.Name', @: start: new Date(@s.Starts.Year, @s.Starts.Month-1, @s.Starts.Day), @: end: new Date(@s.Ends.Year, @s.Ends.Month-1, @s.Ends.Day) @:}, } ] }); }); </script>

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Escribiría tu foreach así:

 @foreach (var s in ViewBag.Sessions) { <text> { title: '@HttpUtility.JavaScriptStringEncode(s.Name)', start: new Date(@s.Starts.Year, @s.Starts.Month-1, @s.Starts.Day), end: new Date(@s.Ends.Year, @s.Ends.Month-1, @s.Ends.Day) }, </text> }
  • HttpUtility.JavaScriptStringEncode para escapar de las comillas y el marcado html.
  • <text> es mejor para la salida de varias líneas.
over 4 years ago · Santiago Trujillo Denunciar

0

Aquí está cómo hacerlo:

 title: '@Html.Raw(HttpUtility.JavaScriptStringEncode(s.Name))'
over 4 years ago · Santiago Trujillo Denunciar

0

Prueba así:

 $(function () { $('#calendar').fullCalendar({ header: { left: '', center: 'title', right: 'month,agendaWeek,agendaDay' }, month: 5, year: 2011, editable: false, events: @Html.Raw(new JavaScriptSerializer().Serialize(ViewBag.Sessions)) }); });

ViewBag.Sessions puede requerir algunas modificaciones para lograr el resultado deseado (en términos de nombres de propiedad), lo que me lleva al comentario habitual que hago sobre ViewBag cuando veo que alguien lo usa: usar ViewBag es una mala práctica y le recomendaría usar un vista fuertemente tipada con un modelo de vista.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda